3 回答

TA貢獻2021條經驗 獲得超8個贊
您可以在 PHP 中的一行中執行此操作,array_flip用于交換第二個數組的鍵和值,然后array_intersect_key在匹配的鍵上合并兩個數組:
$colldata=array("bench-press-rod"=>'',"adidas-classic-backpack"=>'93549559913',"adidas-classic-backpack-legend-ink-multicolour"=>'',"puma-suede-classic-regal"=>'93549920361,93549723753');
$colldata2=array(0 => 'bench-press-rod',1 => 'adidas-classic-backpack');
print_r(array_intersect_key($colldata, array_flip($colldata2)));
輸出:
Array
(
[bench-press-rod] =>
[adidas-classic-backpack] => 93549559913
)

TA貢獻1784條經驗 獲得超2個贊
我能想到的最簡單的方法是遍歷第二個數組并將第一個數組中的匹配鍵添加到輸出中。如果該項目不存在,則它會放入Not found輸出...
$output = [];
foreach ( $colldata2 as $item ) {
$output[$item] = $colldata[$item] ?? 'Not found';
}
print_r($output);
給..
Array
(
[bench-press-rod] =>
[adidas-classic-backpack] => 93549559913
)

TA貢獻1934條經驗 獲得超2個贊
檢查這個。
$colldata=array("bench-press-rod"=>'',"adidas-classic-backpack"=>'93549559913',"adidas-classic-backpack-legend-ink-multicolour"=>'',"puma-suede-classic-regal"=>'93549920361,93549723753');
$colldata2=array(0 => 'bench-press-rod',1 => 'adidas-classic-backpack');
$result = [];
foreach ($colldata2 as $key => $value) {
if (array_key_exists($value, $colldata)) {
array_push($result,$colldata[$value]);
}
}
echo '<pre/>';
print_r($result);
- 3 回答
- 0 關注
- 188 瀏覽
添加回答
舉報