2015-02-11 74 views
-1

創建列表給出錯誤時沒有足夠的數據創建列表給出錯誤時沒有足夠的數據

我做了什麼:

<?php 
    $a=$b=$c=array(); 
    list($a,$b,$c) = array_chunk(array("A","B","C","D","E"), 3); 
    echo "<pre>"; 
    print_r(array($a,$b,$c)); 
?> 

收到錯誤,如:

Notice: Undefined offset: 2 in /var/www/html/test.php on line 13 

如何解決它?

在上面的情況下,如果沒有值然後保持最後一個數組爲空。

如何區分3個數組中的數據?如果沒有足夠的數據,則將最後一個數組保留爲空。

+0

檢查在分配給list()之前是否有足夠的數據。將陣列填充到最小長度。不要首先分配給各個變量,並將其保存在一個數組中。 – deceze 2015-02-11 13:24:52

+0

你的array_chunk應該有第二個參數爲2.它將數組分成3個數組,每個數組包含2個元素。如果你試圖將它分成3個數組,每個數組都有3個元素,那麼你現在就會遇到錯誤。 – 2015-02-11 13:30:06

回答

3
list($a,$b,$c) = array_pad(array_chunk(array("A","B","C","D","E"), 3), 3, array()); 

如果您是數組中的元素少,array_pad將默認值填充它。

0

錯誤僅僅是說偏移量是未定義的。列表函數只獲得2個,但在代碼中需要3個。所以,如果您使用此代碼,它不會給你錯誤

<?php 
    $a=$b=$c=array(); 
    list($a,$b) = array_chunk(array("A","B","C","D","E"), 3); 
    echo "<pre>"; 
    print_r(array($a,$b,$c)); 
?> 

或者,如果你塊陣列分成兩個部分,也將工作,將陣列分爲三個部分。

<?php 
     $a=$b=$c=array(); 
     list($a,$b) = array_chunk(array("A","B","C","D","E"), 2); 
     echo "<pre>"; 
     print_r(array($a,$b,$c)); 
    ?> 

希望這有助於你

+0

我知道,但我的問題是如何劃分3個數組中的數據,如果沒有足夠的數據保持最後一個數組空白 – 2015-02-11 13:30:56

相關問題