[英]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.