在数组中循环数组并在php中删除其值的键

Har*_*mar 4 php

我有一个以下格式的数组.

array (
0 => 
array (
'safe_route' => 'yes',
'route_name' => 'route_1',
'route_risk_score' => '2.5'),
 1 =>
array (
'safe_route' => 'no',
'route_name' => 'route_2',
'route_risk_score' => '3.5'),
 2 =>
array (
'safe_route' => 'no',
'route_name' => 'route_3',
'route_risk_score' => '4.5')
)
Run Code Online (Sandbox Code Playgroud)

我需要循环它并删除键'route_risk_score'及其在所有数组中的值.如何在PHP中完成此操作.不熟悉php.Help将不胜感激

u_m*_*der 8

要删除原始数组中的元素,请使用对每个元素的引用:

// see this & in front of `$item`? 
// It means that `$item` is a reference to element in original array 
// and unset will remove key in element of original array, not in copy
foreach($array as &$item) {          
    unset($item['route_risk_score']);
}
Run Code Online (Sandbox Code Playgroud)


小智 6

$data = array(
0 =>array(
    'safe_route' => 'yes',
    'route_name' => 'route_1',
    'route_risk_score' => '2.5'),
1 =>array(
    'safe_route' => 'no',
    'route_name' => 'route_2',
    'route_risk_score' => '3.5'),
2 =>array(
    'safe_route' => 'no',
    'route_name' => 'route_3',
    'route_risk_score' => '4.5')
);
$count = count($data);
for ($i = 0; $i < count($data); $i++) {
     unset($data[$i]['route_risk_score']);
}
echo'<pre>';print_r($data);die;
output :
Array
(
[0] => Array
    (
        [safe_route] => yes
        [route_name] => route_1
    )

[1] => Array
    (
        [safe_route] => no
        [route_name] => route_2
    )

[2] => Array
    (
        [safe_route] => no
        [route_name] => route_3
    )

)
Run Code Online (Sandbox Code Playgroud)