-1

我想问的问题只是出于我的好奇心。为什么这段代码不起作用:

$table = [
    'key1'  => 'value1',
    'key2'  => 'value2',
];

foreach($table as $tb)
{
    $tb = strtoupper($tb);
}

print_r($table);
4

2 回答 2

4

我相信你期望值变成大写..在这种情况下你需要&在 foreach..

$table = [
    'key1'  => 'value1',
    'key2'  => 'value2',
];

foreach($table as &$tb)
{
    $tb = strtoupper($tb);
}

print_r($table);
于 2012-11-11T11:25:41.287 回答
1

您可以使用array_map

$table = [
    'key1'  => 'value1',
    'key2'  => 'value2',
];

$table = array_map("strtoupper", $table);
print_r($table);

如果您还将键更改为大写,请使用array_change_key_case

 print_r(array_change_key_case($table, CASE_UPPER));
于 2012-11-11T11:30:00.310 回答