问题:从对象/数组中提取数据,并使用具有从内部循环生成的唯一键的多维数组来表示此数据。
我总是发现自己在构建这样的多维数组:
$final_array = array();
foreach ($table as $row) {
$key = null;
$data = array();
foreach ($row as $col => $val) {
/* Usually some logic goes here that does
some data transformation / concatenation stuff */
if ($col=='my_unique_key_name') {
$key = $val;
}
$data[$col] = $val;
}
if (!is_null($key) {
if (!isset($final_array[$key]) {
$final_array[$key] = array();
}
$final_array[$key][] = $data;
}
}
我忍不住想知道我是否一直这样做是出于习惯,但所有的钥匙检查等等都让我觉得有点冗长。有没有我没有使用的本机功能?这能被重构成更简单的东西吗?还是我想得太多了?
你为什么总是这么做?这似乎不是一个人日常工作中常见的东西。。。无论如何,这有点神秘(举个例子会很好(,但你有没有想过使用数组的序列化转储的MD5哈希来唯一定义密钥?
$key = md5(serialize($value));