更換陣列中的一個重要的價值比方說,我有一個數組是這樣的:搜索和PHP
$myArray = array(
'a' => 'alpha',
'b' => array(
'Z' => 'zulu')
);
我想搜索鍵「Z」和替換它的值。
我試過迭代器,foreach循環等,但沒有運氣。
*修正的語法。
更換陣列中的一個重要的價值比方說,我有一個數組是這樣的:搜索和PHP
$myArray = array(
'a' => 'alpha',
'b' => array(
'Z' => 'zulu')
);
我想搜索鍵「Z」和替換它的值。
我試過迭代器,foreach循環等,但沒有運氣。
*修正的語法。
你可以傳遞一個參考array_walk_recursive:
<?php
$myArray = array(
'a' => 'alpha',
'b' => array (
'Z' => 'zulu'
),
);
foreach($myArray as $key => $value) {
if (is_array($value)) {
foreach($value as $k => $v) {
if ($k == 'Z')
{
//do something
$myArray[$key]['newKey'] = $v;
unset($myArray[$key][$k]);
}
}
}
}
print_r($myArray);
輸出:
Array
(
[a] => alpha
[b] => Array
(
[newKey] => zulu
)
)
您可以使用array_walk_recursive
和通過引用傳遞:
array_walk_recursive($myArray, function(&$item, $key) {
if ($key == 'Z') $item = "hi";
});
http://sandbox.onlinephpfunctions.com/code/ad750cbb5b30b87f9e6068ba15420cf924ed5a7b
這不是PHP數組語法。這是Ruby hash語法與PHP「array」關鍵字之間的交叉。請發佈有效的PHP,以便我們完全理解您的意圖。 –
@MichaelBerkowski它看起來更好嗎?我需要找到數組中的數組「Z」,並替換它的值。非常感謝 – L4zl0w
http://stackoverflow.com/questions/7801463/replace-certain-items-within-multidimensional-array –