[英]How to get A Specifc Key => value pair from an assosative array in Php
我有一个数组
给定数据
Array
(
[0] => Array
(
[name] => /w/s/wsh11-blue_main.jpg
[image_id] => L3cvcy93c2gxMS1ibHVlX21haW4uanBn
[file_path] => /w/s/wsh11-blue_main.jpg
[file_name] => wsh11-blue_main.jpg
[added_at] => September 19 2019 09:32:24
[serial_no] => 1
)
[1] => Array
(
[name] => /w/s/wsh05-purple_main.jpg
[image_id] => L3cvcy93c2gwNS1wdXJwbGVfbWFpbi5qcGc,
[file_path] => /w/s/wsh05-purple_main.jpg
[file_name] => wsh05-purple_main.jpg
[added_at] => September 19 2019 09:32:24
[serial_no] => 2
}
}
现在我的问题是想在另一个数组中获取特定列
我试过array_column($data,'file_path')
但不幸的是我得到的只是价值而不是关键
我想得到一个 Expect Array Like
预期结果
Array
(
[0] => Array
(
[file_path] => /w/s/wsh11-blue_main.jpg
)
[1] => Array
(
[file_path] => /w/s/wsh05-purple_main.jpg
)
}
$arrayRec= array ();
foreach ($arrayRec as $rec){
$collection[] = array('file_path'=>$rec['file_path']);
}
echo "<pre>";
print_r($collection);
echo "</pre>";
一种方法是使用循环来构建具有预期数据的新数组。 另一种方法是array_map()
function。 它遍历每个数组元素并将返回值收集到一个新数组中。
$data = [
[
'image_id' => 'L3cvcy93c2gxMS1ibHVlX21haW4uanBn',
'file_path' => '/w/s/wsh11-blue_main.jpg'
],
[
'image_id' => 'L3cvcy93c2gwNS1wdXJwbGVfbWFpbi5qcGc',
'file_path' => '/w/s/wsh05-purple_main.jpg'
]
];
$mapped = array_map(
static function ($file) {
return ['file_path' => $file['file_path']];
},
$data
);
var_dump($mapped);
Output:
array(2) {
[0]=>
array(1) {
["file_path"]=>
string(24) "/w/s/wsh11-blue_main.jpg"
}
[1]=>
array(1) {
["file_path"]=>
string(26) "/w/s/wsh05-purple_main.jpg"
}
}
$newArray = array();
$arr = array();
foreach($array as $key => $value){
if($key == "file_path"){
$arr[$key] = $value;
$newArray[] = $arr;
}
}
遍历数组,从内部数组中获取值并将其保存在新数组中。
$finalArray = [];
for($finalData as $innerArray){
$finalArray[] = array('file_path'=>$innerArray['innerArray']);
}
$finalArray
有你需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.