以下是我的代码
的一些示例$data = array('code'=>'100','txt'=>'success');
$movie = array('name'=>'movie', array(array('id'=>'1','name'=>'movie1'),array('id'=>'2','name'=>'movie2')));
$anime = array('name'=>'anime', array(array('id'=>'1','name'=>'anime1'),array('id'=>'2','name'=>'anime2')));;
如何将$ movie和$ anime放入$ data ['数据']?
我尝试使用array_push和$data['data'] = array($movie,$anime);
or $data['data'][] = array($movie,$anime);
,但它没有用。
哦对不起我只想把它变成xml(我有将数组转换为xml的函数)
现在我使用$ data ['数据'] [' item'] [] =数组($ movie,$ anime);
所以这里是我的xml
<xml>
<data>
<item>[movie]</item>
<item>[anime]</item>
</data>
<xml>
我的问题是,是否有另一种方法可以将数据放入数据中?
答案 0 :(得分:1)
有多种方法可以实现这一目标:
$data['data'] = array($movie, $anime]);
使用短数组语法,它更容易:
$data['data'] = [$movie, $anime];
如果你在循环中这样做,那么一次添加一个:
$data['data'] = array();
$data['data'][] = $movie;
$data['data'][] = $anime;
或者如果您想使用array_push()
:
$data['data'] = array();
array_push($data['data'], $movie);
array_push($data['data'], $anime);
答案 1 :(得分:1)
首先,您需要了解array_push
的工作原理。它会将一个元素插入到数组的 end 中,并根据可用的最高数字键为其提供一个数字键。如果没有数字键(例如所有文本),则数字键将为零。
例如:
php > $a = array('b','c');
php > array_push($a, 'd');
php > print_r($a);
Array
(
[0] => b
[1] => c
[2] => d
)
上例中的所有键都是字母,因为我们没有创建关联数组。但是如果我们创建一个关联数组,它将如下所示:
php > $b = array('a'=>'a');
php > array_push($b, 'c');
php > print_r($b);
Array
(
[a] => a
[0] => c
)
如果您在array_push
数组上使用array_shift
或$data
,则添加您要添加的数据,但没有关联数组索引,你可以参考,在这种情况下是'数据'。
要添加,您可以执行以下操作:
$data['data'] = array($movie, $anime);
答案 2 :(得分:0)
这取决于,您是否希望动画和电影数组都在主数组的一个键中,或者在单独的示例中:
$data['anime'] = $anime;
$data['move'] = $movie;
可以访问$ data [&#39;动漫&#39;] [&#39; name&#39;]; 等,或者你可以将它们都放在数据下,就像你的问题暗示的那样
$data['data'] = array($anime, $movie);
可以像电影数组的$ data [&#39;数据&#39;] [1] [&#39;名称&#39;]和动漫数组的0那样访问。