不能使用array_columns中的变量作为列名

时间:2018-11-21 20:54:44

标签: php arrays

我有一个简单的数组,我想使用var array = [[1, 2, 3], [1, 2, 3], [3, 4, 5], [5, 6, 7], [5, 6, 7]], unique = array.filter( (s => a => (j => !s.has(j) || s.set(j))(JSON.stringify(a))) (new Set) ); console.log(unique);,但奇怪的是,使用变量作为列名时它不起作用。

array_column

这不起作用:

$colors = array(
array( 'RAL' => 'RAL 1000', 'RGB' => '190,189,127', 'HEX' => 'BEBD7F', 
'NAME' => 'Grünbeige' ),
    array( 'RAL' => 'RAL 1001', 'RGB' => '194,176,120', 'HEX' => 'C2B078', 
'NAME' => 'Beige' ),
    );

$column_name = 'hex'; // this comes actually via $_GET['hex'];

这确实有效:

print_r(array_column($colors, ucwords($column_name)));

1 个答案:

答案 0 :(得分:2)

不要使用ucwords。那个驼峰的单词是Hex
使用strtoupper。

print_r(array_column($colors, strtoupper($column_name)));

https://3v4l.org/c6cum