php将此数组转换为整数系列

时间:2013-03-07 16:18:36

标签: php arrays multidimensional-array keyvaluepair

这是我的数组的输出

[["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"],["1"]]

但我希望这看起来像

[1,1,1,1,1,1,1]

如何在php中实现这一点,当我不想要它时,似乎我所做的一切都会被放入数组中的对象中。我尝试使用array_values并成功返回值,因为我最初确实有键,但这仍然不是完全理想的结果

2 个答案:

答案 0 :(得分:1)

$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)

答案 1 :(得分:0)

你总是可以做一个简单的循环...

$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()等值。