这是我的数组
的输出 [["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"]]
但是我希望它看起来像
[1,1,1,1,1,1,1]
这在php中是如何实现的,似乎我所做的一切都被放入数组中的对象中,当我不想这样做的时候。我尝试使用array_values,它成功地只返回值,因为我最初确实有键,但这仍然不是完全期望的结果
$yourArray = [["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"]];
在PHP 5.3+
$newArray = array_map(function($v) {
return (int)$v[0];
}, $yourArray);
或在其他PHP版本中使用以下代码
function covertArray($v) {
return (int)$v[0];
}
$newArray = array_map('covertArray', $yourArray)
你总是可以做一个简单的循环…
$newArray = array();
// Assuming $myArray contains your multidimensional array
foreach($myArray as $value)
{
$newArray[] = $value[0];
}
您可以稍微加强它,并通过以下操作来避免糟糕的索引:
if( isset($value[0]) ) {
$newArray[] = $value[0];
}
或者直接使用其中一个数组函数来获取值,如array_pop()
, array_slice()
, end()
等