如何将此数组放入多维数组



下面是我的代码的一些例子

$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_pusharray_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一样访问。

相关内容

  • 没有找到相关文章

最新更新