【问题标题】:Array inside an array(2 dimensional array) convert to string数组内的数组(二维数组)转换为字符串
【发布时间】:2014-02-25 21:02:03
【问题描述】:

如何正确/正确地转换这样的数组?

例如,如果我这样做,print_r($array);

它会打印出类似的结果,

Array([0] => Array([0] => 5))

这个数组是怎么来的?

我知道如何使用implode() 将单个数组转换为字符串。但是,它不适用于数组内的数组。

我不认为使用implode() 两次可以解决问题。有人知道吗?

【问题讨论】:

    标签: php arrays string converter


    【解决方案1】:

    如果要获取数组为字符串,使用print_r 第二个参数为true

    $string  = print_r($array, true);
    

    serialize

    $string  = serialize($array);
    

    json_encode

    $string  = json_encode($array);
    

    如果你想使用 implode,请使用 array_walk_recursive

    function test_print($item, $key)
    {
        if (is_array($item))
        {
            echo implode(',', $item);
        }
    }
    
    array_walk_recursive($array, 'test_print');
    

    【讨论】:

    • 该数组是一个关联数组,因为它是来自数据库的查询,它具有列的位置,所以如果我检索 2 个人。第一个人的数据将被覆盖。我该怎么做?
    • 使用 array_walk_recursive 并根据需要装饰您的关联数组
    【解决方案2】:

    为什么不直接使用 foreach 构造循环它?

    像这样..

    <?php
    $arr = array(0=>array(0=>5),1=>array(0=>6));
    foreach($arr as $arr1)
    {
    $str.=implode(' ',$arr1).",";
    }
    echo rtrim($str,','); //"prints" 5,6
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      相关资源
      最近更新 更多