PHP Codeigniter解析数组([0] => test2 [1] => test1)

时间:2015-10-26 19:21:44

标签: php arrays codeigniter parsing

我需要有关如何在codeigniter中解析此数组的帮助

array([0] => test0 [1] => test1)

CodeIgniter用户指南中的

我发现了这个:

    {blog_entries}
            <h5>{title}</h5>
            <p>{body}</p>
    {/blog_entries}

如果数组如下,则可以使用:

$data = array(
    'blog_title'   => 'My Blog Title',
    'blog_heading' => 'My Blog Heading',
    'blog_entries' => array(
            array('title' => 'Title 1', 'body' => 'Body 1'),
            array('title' => 'Title 2', 'body' => 'Body 2'),
            array('title' => 'Title 3', 'body' => 'Body 3'),
            array('title' => 'Title 4', 'body' => 'Body 4'),
            array('title' => 'Title 5', 'body' => 'Body 5')
    ));

http://www.codeigniter.com/user_guide/libraries/parser.html?highlight=parsing

但我从一个API接收这样的数组:

    $data = array(
    'blog_title'   => 'My Blog Title',
    'blog_heading' => 'My Blog Heading',
    'blog_entries' => array(
            array('0' => 'Title 1', 'body' => 'Body 1'),
            array('1' => 'Title 2', 'body' => 'Body 2'),
            array('2' => 'Title 3', 'body' => 'Body 3'),
            array('3' => 'Title 4', 'body' => 'Body 4'),
            array('4' => 'Title 5', 'body' => 'Body 5')
    ));

我如何解析它?或如何将数字[0,1,2,3]转换为[标题,标题,标题,标题]

1 个答案:

答案 0 :(得分:0)

  

第一个参数包含视图文件的名称(在此处   例如,该文件将被称为blog_template.php),第二个   参数包含要替换的关联数据数组   模板。

$data = array(
'blog_title'   => 'My Blog Title',
'blog_heading' => 'My Blog Heading',
'blog_entries' => array(
        array('0' => 'Title 1', 'body' => 'Body 1'),
        array('1' => 'Title 2', 'body' => 'Body 2'),
        array('2' => 'Title 3', 'body' => 'Body 3'),
        array('3' => 'Title 4', 'body' => 'Body 4'),
        array('4' => 'Title 5', 'body' => 'Body 5')
));

foreach ($data['blog_entries'] as &$arr)
{
    foreach ($arr as $k => $v)
    {
        if (is_numeric($k))
        {
            $arr['title'] = $v;
            unset($arr[$k]);
        }
    }
    $arr = array_reverse($arr);
}

echo '<pre>', var_dump($data);exit;

但是你应该知道$data数组结构的最终变化。因此,如果您的api将一个带有数字键的元素导出到该数组,则此代码可能会被破坏。你可以检查并测试它。