Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Codeigniter解析数组([0]=>;test2[1]=>;test1)_Php_Arrays_Codeigniter_Parsing - Fatal编程技术网

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

PHP Codeigniter解析数组([0]=>;test2[1]=>;test1),php,arrays,codeigniter,parsing,Php,Arrays,Codeigniter,Parsing,我需要有关如何在codeigniter中解析此数组的帮助 数组([0]=>test0[1]=>test1) 在CodeIgniter用户指南中,我发现: {blog_entries} <h5>{title}</h5> <p>{body}</p> {/blog_entries} 但我从一个API接收到这样的阵列: $data = array( 'blog_title'

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

数组([0]=>test0[1]=>test1)

在CodeIgniter用户指南中,我发现:

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

但我从一个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]转换为[title,title,title,title]

您只需执行一个简单的重拍功能:

$out = array();
foreach ($blog_entries as $index => $array) {
    $out[] = array('title' => $array[$index], 'body' => $array['body']);
}
样本输出:

array(5) {
  [0]=>
  array(2) {
    ["title"]=>
    string(7) "Title 1"
    ["body"]=>
    string(6) "Body 1"
  }
  [1]=>
  array(2) {
    ["title"]=>
    string(7) "Title 2"
    ["body"]=>
    string(6) "Body 2"
  }
  [2]=>
  array(2) {
    ["title"]=>
    string(7) "Title 3"
    ["body"]=>
    string(6) "Body 3"
  }
  [3]=>
  array(2) {
    ["title"]=>
    string(7) "Title 4"
    ["body"]=>
    string(6) "Body 4"
  }
  [4]=>
  array(2) {
    ["title"]=>
    string(7) "Title 5"
    ["body"]=>
    string(6) "Body 5"
  }
}
第一个参数包含视图文件的名称(在本例中) 示例文件名为blog_template.php),第二个 参数包含要在中替换的数据的关联数组 模板

$data=array(
“博客标题”=>“我的博客标题”,
“博客标题”=>“我的博客标题”,
“博客条目”=>数组(
数组('0'=>'标题1','body'=>'正文1'),
数组('1'=>'标题2','body'=>'正文2'),
数组('2'=>'标题3','body'=>'正文3'),
数组('3'=>'标题4','body'=>'正文4'),
数组('4'=>'标题5','body'=>'正文5')
));
foreach($data['blog_entries']as&$arr)
{
foreach($arr为$k=>$v)
{
如果(是数字($k))
{
$arr['title']=$v;
未结算($arr[$k]);
}
}
$arr=阵列_反向($arr);
}
回显“”,变量转储($data);出口
但您应该知道
$data
数组结构的最终变化。因此,如果您的api将再导出一个带有数字键的元素到该数组,那么该代码可能会被破坏。你可以检查和测试它

array(5) {
  [0]=>
  array(2) {
    ["title"]=>
    string(7) "Title 1"
    ["body"]=>
    string(6) "Body 1"
  }
  [1]=>
  array(2) {
    ["title"]=>
    string(7) "Title 2"
    ["body"]=>
    string(6) "Body 2"
  }
  [2]=>
  array(2) {
    ["title"]=>
    string(7) "Title 3"
    ["body"]=>
    string(6) "Body 3"
  }
  [3]=>
  array(2) {
    ["title"]=>
    string(7) "Title 4"
    ["body"]=>
    string(6) "Body 4"
  }
  [4]=>
  array(2) {
    ["title"]=>
    string(7) "Title 5"
    ["body"]=>
    string(6) "Body 5"
  }
}
$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;