2016-09-15 121 views
-1

有誰知道我可以如何創建陣列?PHP創建陣列

$string = '3-1-0-1.11,3-1-1-1.12,3-1-2-1.13,3-1-3-1.14,3-2-0-1.02,3-2-1-1.03,3-2-2-1.04,3-2-3-1.05,3-2-4-1.06,3-3-0-3.23,3-3-1-3.24,3-3-2-3.25,3-3-3-3.26'; 

$array = explode(',', $string); 
$last_entry = null; 

foreach ($array as $current_entry) { 
    $first_char = $current_entry[2]; // first Sign 
    if ($first_char != $last_entry) { 
     echo '<h2>'. $first_char . '</h2><br>'; 
    } 
    echo $current_entry[4] . '<br>'; 
    $last_entry = $first_char; 
} 

我需要一個這樣的數組:

Array 
(
[1] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 2 
    ) 

[2] => Array 
    (
     [0] => 0 
     [1] => 1 
     [2] => 2 
     [3] => 3 
     [4] => 4 
     [5] => 5 
    ) 

[3] => Array 
    (
     [0] => 1 
     [1] => 2 
     [2] => 3 
     [3] => 4 
    ) 
) 

第3號和其他數字3逗號後並不重要。 重要的數字是$ array數值中的第二和第三個數字。 我需要類別。例如:如果第一個(第二個)號碼爲1,則創建類別1和子類別1,其中第一(第二)號碼實際爲1.

+1

你能提供真實的輸出嗎?想從你的字符串? 至少從它開始? – Dmytrechko

+0

並且請更改問題的名稱,導致您誤導他人 – Dmytrechko

回答

0

要創建數組,您需要使用array()功能聲明它。下面我創建了一個空白數組。

$array = array(); 

與值的數組看起來像這樣

$array = array("string", "string2", "string3"); 

要在數組中添加值,您使用array_push方法。

array_push($array, "string4"); 

在多維數組,聲明數組然後添加內陣列,下面objct取向

$array = array("string"=>array("innerstring", "innerstring2"), "string2" => array("innerstring3", "innerstring4"), "string3" => array("innerstring5", "innerstring6")); 

和程序

$array=array(array("string", "innerstring", "innerstring2",), array("string2", "innerstring3", "innerstring4"), array("string3", "innerstring5", "innerstring6")); 
+1

謝謝,但我的數組更復雜。 – user6834389

+0

我已經添加了關於如何創建多維數組的一些指導 – AntonyMN

0

嘗試下一個腳本:

$string = '3-1-0-1.11,3-1-1-1.12,3-1-2-1.13,3-1-3-1.14,3-2-0-1.02,3-2-1-1.03,3-2-2-1.04,3-2-3-1.05,3-2-4-1.06,3-3-0-3.23,3-3-1-3.24,3-3-2-3.25,3-3-3-3.26'; 

foreach(explode(',', $string) as $tpl) { 
    $tpl = explode('-', $tpl); 
    $tpl[3] = explode('.', $tpl[3]); 
    $result[$tpl[1]][$tpl[2]][$tpl[3][0]] = !empty($tpl[3][1]) ? $tpl[3][1] : null; 
} 
var_dump($result);