2016-05-12 159 views
-1

我有個組陣列這樣的從選擇數據庫,其中表中的[0]爲ID,[1]是項目,和[2]是類型:PHP:更改陣列結構

Array 
(
    [0] => LO001 
    [1] => Fork 
    [2] => A 
) 
Array 
(
    [0] => LO002 
    [1] => Spoon 
    [2] => B 
) 

但我希望它是這樣的:

Array 
(
    [0] => Array 
     (
      [0] => LO001 
      [1] => Fork 
      [2] => A 
     ) 
    [1] => Array 
     (
      [0] => LO002 
      [1] => Spoon 
      [2] => B 
     ) 
) 

*編輯,代碼從數據庫中選擇數據,$選擇的是一組從複選框形式的結果數組。 :

$query = "SELECT ID, name, type FROM location WHERE loc_id = '$selected'"; 
    $sqlcb = mysql_query($query); 
    $ccb = array(); 
    while($ccb= mysql_fetch_array($sqlcb)) { 
     print_r($ccb); 
} 

$選定陣列結構示例(該陣列可以基於從複選框形式的用戶輸入是變化

Array 
(
    [0] => LO001 
    [1] => LO002 
) 
+0

$ new_array =「」; foreach($ your_array as $ ar){$ new_array [] = $ ar;} print_r($ new_array); – Poria

+0

向我們展示從數據庫中獲取數組的代碼。否則,這個問題是不明確的。有數百萬種方法來構建這種類型的數組。 –

+0

PHP代碼在哪裏? –

回答

1

使用一些東西一樣:

while($ccb= mysql_fetch_array($sqlcb)) { 
    $finalArray[] = $ccb; 
} 
print_r($finalArray); 

請注意mysql_*現已棄用的PHP7因爲安全問題。建議您切換到mysqli_*PDO擴展名。

+0

它的工作原理,但它似乎新的問題是這樣的:'陣列 ( [0] => LO001 [1] =>叉 [2] =>甲 )陣列 ( [0] =>數組 ( [0] => LO001 [1] =>叉 [2] =>甲 ) [1] =>數組 ( [0] => LO002 [1] =>勺 [2 ] => B ) )' – lacyeex

+0

我無法測試您的代碼,但您可以嘗試刪除'$ finalArray = array();' –

+0

好。感謝您回覆我的問題:) – lacyeex

1

可以創建新的數組等:

$arr1 = array('LO001','Fork','A'); 
$arr2 = array('LO002','Spoon','B'); 

$newArr = array(); 
$newArr[] = $arr1; 
$newArr[] = $arr2; 

輸出:

Array 
(
    [0] => Array 
     (
      [0] => LO001 
      [1] => Fork 
      [2] => A 
     ) 

    [1] => Array 
     (
      [0] => LO002 
      [1] => Spoon 
      [2] => B 
     ) 

) 
+1

你已經獲得了相同的數組。沒有任何變化 – RomanPerekhrest

+0

@RomanPerekhrest不符合上面的代碼。 –

+0

他無法通過從數據庫獲取數據來構造數組。我認爲他能夠複製'print_r'的輸出。 –