簡體   English   中英

如何將該數組轉換為多維數組?

[英]How can I put this array to multidimensional array?

這是我的代碼的一些例子

$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 ['data']中? 我嘗試array_push和$data['data'] = array($movie,$anime); or $data['data'][] = array($movie,$anime); 它沒有工作。

哦,對不起,我只想要它到xml(我有將數組轉換為xml的功能)

現在我使用$ data ['data'] ['item'] [] = array($ movie,$ anime);

所以這是我的XML

<xml>
<data>
<item>[movie]</item>
<item>[anime]</item>
</data>
<xml>

我的問題是,是否還有另一種方法可以將其放入數據中呢?

有多種方法可以實現此目的:

$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);

演示版

首先,您需要了解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['anime'] = $anime;
$data['move'] = $movie;

將像$ data ['anime'] ['name'];一樣被訪問; 等等,或者您可以將它們都放在數據下,就像您的問題暗示這樣

$data['data'] = array($anime, $movie);

可以像$ data ['data'] [1] ['name']一樣訪問該數組,對於動畫數組則可以訪問0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM