检查和更改数组中的值


Checking and changing a value in an array

我有一个多数组存储在会话中

我遍历数据以更改设置为"1"的值并将其设置为"0"

但出于某种原因,即使它确实找到了价值,它也不会改变它。

这是我所拥有的:

Array (
    [0] => 1 
    [1] => 0 
    [2] => admin_user
    [8] => 1 
    [3] => 2
    [4] => Array (
        [7] => Array ( 
            [0] => User1
            [1] => 1 
            [2] => 1 
            [3] => w.jpg 
            [4] => 1 
            [5] => 1 
            [6] => 500 
            [7] => 50
            [8] => 3000 
        )
        [1] => Array ( 
            [0] => User2 
            [1] => 1 
            [2] => 3 
            [3] => d.jpg 
            [4] => 1
            [5] => 0 
            [6] => 200 
            [7] => 85 
            [8] => 5000
        ) 
    )
)

所以在 PHP 中,我试图更改数组中位置 5 的位置 4 的值。

我是这样做的:

foreach($_SESSION['player_data'][4] as $key){
    if($key[5] == 1){
       $_SESSION['player_data'][4][$key][5] = 0;
       break;
    }
}

但它不会将其设置为 0,它会保持为 1 其烦人的:(我哪里出错了?

更改为:

foreach($_SESSION['player_data'][4] as $key => $value){    
   if($value[5] == 1){
       $_SESSION['player_data'][4][$key][5] = 0;
       break;
    }
}