问题: 从对象/数组中提取数据,并使用多维数组表示此数据,该数组具有从内部循环生成的唯一键。
我总是发现自己正在构建像这样的多维数组:
$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;
}
}
我不禁想知道我是否经常出于习惯这样做,但是所有关键检查和诸如此类的东西都让人觉得有些冗长。是否有我没有使用的本机功能?这可以重构成更简单的东西,还是我过度思考这个?
答案 0 :(得分:0)
你为什么一直这样做?似乎不是日常工作中常见的东西...无论如何,这有点神秘(一个例子会很好)但你有没有使用数组的序列化转储的MD5哈希唯一地定义一个键?
$key = md5(serialize($value));