什么是最简单的转换方式
$a = array(
array("id" => 1, "name" => "a1"),
array("id" => 2, "name" => "a2")
);
Run Code Online (Sandbox Code Playgroud)
至
$b = array(
"a1" => array("id" => 1, "name" => "a1"),
"a2" => array("id" => 2, "name" => "a2")
);
Run Code Online (Sandbox Code Playgroud)
我期待PHP有一些函数式编程工具来做类似的事情:
$b = map($a, function($item) {
return $item["name"];
});
Run Code Online (Sandbox Code Playgroud)
但我没找到一个.
假设我有一个元素数组,它们本身就是数组,如下所示:
$array = [
['foo' => 'ABC', 'bar' => 'DEF'],
['foo' => 'ABB', 'bar' => 'DDD'],
['foo' => 'BAC', 'bar' => 'EFF'],
];
Run Code Online (Sandbox Code Playgroud)
要将foo字段的值设置为数组的键,我可以这样做:
foreach ($array as $element) {
$new_array[$element['foo']] = $element;
}
$array = $new_array;
Run Code Online (Sandbox Code Playgroud)
代码自然是微不足道的,但我一直想知道是否有内置的可以为我做同样的事情。
我有一个mysql语句,每行返回2个值.
每次我循环这些结果,我想将它们添加到一个数组.
我想要一个值作为键,另一个值作为数组值.
我试过这个,但它似乎不起作用:
$dataarray[] = $row['id']=>$row['data'];
Run Code Online (Sandbox Code Playgroud)