将数组数组转换为字符串?

时间:2016-07-25 15:59:02

标签: php

array(
  array('foo' => '11'),
  array('bar' => '22'),
);

鉴于上面的数组,不使用循环,是否可以输出以下字符串?

'11 22'

3 个答案:

答案 0 :(得分:2)

这是一个单行:

$subject = array(
    array('foo' => '11'),
    array('bar' => '22'),
    array('bar' => '33'),
);

echo implode(" ", array_map("implode", $subject ));
  

11 22 33

答案 1 :(得分:0)

很简单,你有一个多维数组。您的顶级数组有两个元素(也是数组),索引分别为“0”和“1”。

你的子数组是一个关联数组,所以你没有索引0,1,2 ... n,而是分别有'foo'和'bar'的索引。

所以如果你想显示数字11 ......

$array = array(
  array('foo' => '11'),
  array('bar' => '22'),
);

echo $array[0]['foo'];

要将它组成一个句子,你可以连接两个数组元素

$array = array(
      array('foo' => '11'),
      array('bar' => '22'),
    );

    echo $array[0]['foo'] . ' ' . $array[1]['bar'];

答案 2 :(得分:0)

您必须使用array_reduce方法

解决方案:

<?php

$a = array(
  array('foo' => '11'),
  array('bar' => '22'),
);

function glue($carry, $item){
    $carry .= array_values($item)[0]." ";
    return $carry;
};

var_dump(trim(array_reduce($a, "glue", "")));
?>

Live example