下面是我的代码的一些例子
$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['data']['item'][]=数组($movie,$anime);
这是我的xml
<xml>
<data>
<item>[movie]</item>
<item>[anime]</item>
</data>
<xml>
我的问题是,有没有其他方法可以在没有的情况下将其放入数据?
首先,您需要了解array_push
是如何工作的。它将在数组的端插入一个元素,并根据可用的最高数字键为其提供一个数字键。如果没有数字键(如所有文本),则数字键将为零。
例如:
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
)
如果在$data
数组上使用array_push
或array_shift
,则会添加要添加的数据,但不包含关联数组索引(在本例中为"data")。
要添加,您可以执行以下操作:
$data['data'] = array($movie, $anime);
有多种方法可以实现这一点:
$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);
演示
这取决于,您希望anime和movie数组都在主数组的一个键中,还是在单独的键中。例如:
$data['anime'] = $anime;
$data['move'] = $movie;
将像$data一样被访问["时间"]["名称"];等等,或者你可以把它们都放在数据下,就像你的问题暗示的那样
$data['data'] = array($anime, $movie);
它可以像电影数组的$data['data'][1]['name']和动漫数组的0一样访问。