2014-06-07 133 views
-1

我只與基本陣列合作建立新的數組,我有我傳遞到我的PHP類從一個AJAX JSON調用PHP從另一個陣列

"item": [ "4","3","6","5","7"] 

我試圖進入這個簡單數組數組格式,其中id是上面的數組,並且順序從0開始並向上計數++ 1

我已經嘗試了一個數組中的foreach循環,但我知道那不是這樣做的方法。

$data = array(
    array('Page' => array('id' => 3, 'order' => 0)), 
    array('Page' => array('id' => 4, 'order' => 1)), 
    array('Page' => array('id' => 5, 'order' => 2)), 
    array('Page' => array('id' => 6, 'order' => 3)), 
    array('Page' => array('id' => 7, 'order' => 4)), 
); 

我曾嘗試:

$data = array(
    foreach($this->request->data as $key => $value) { 
    array('Page' => array('id' => $key, 'order' => 0)), 
    }; 
); 
+0

您是否嘗試在數組外部的'foreach()'中正確添加項目? – kero

+0

你想讓數組看起來像**完全**? – Xatenev

+0

這裏也是一樣的dudies .. Keith你注意到PHP在那裏警告嗎?它應該告訴類似'意外:,預期..'或類似的東西 – Yang

回答

1

不能運行像一個數組裏面一個foreach。試試這個:

$data = array(); 
foreach($this->request->data['item'] as $key => $value) { 
    $data[] = array('Page' => array('id' => $value, 'order' => $key)); 
} 

這樣的猜測在看您的格式我想你可能想使用$value,而不是$key'id' => $key


一起聊天,並通過它這方面的工作之後是工作的代碼的最終版本:

$data = array(); 
$raw = $this->request->data; 
$array = $raw['item']; 
$i = 0; 
foreach($array as $val) { 
    $data[] = array('Page' => array('id' => $val, 'order' => $i)); 
    $i++; 
} 
+0

感謝Styphon。我在代碼的第三行得到了一個錯誤語法錯誤,意外的',' –

+0

@KeithPower修復了它 – kero

+0

應該在最後一個分號。正如你之前我沒有注意到你在最後有一個逗號;) – Styphon