2016-05-14 90 views
0

我收到此錯誤信息上的客戶端網站:警告:array_combine()的錯誤信息

警告:array_combine():這兩個參數應具有的元素在/ home/siennahomes /的public_html相等數量的/wp-content/themes/realhomes-child/property-details/property-floorplan.php線945

945行是:

$details = array_combine($fplan2_dimensions_titles, $fplan2_dimensions_values); 

的PHP的全部塊是:

<?php 
    if (!empty($fplan2_dimensions_titles)){ 
    $fplan2_dimensions_values = get_post_meta($post->ID, 'REAL_HOMES_fplan2_dimensions_values', true); 
    if (!empty($fplan2_dimensions_values)){ 
    $details = array_combine($fplan2_dimensions_titles, $fplan2_dimensions_values); 

    echo '<ul class="additional-details clearfix">'; 
    foreach ($details as $title => $value){ 
?> 

我還在使用PHP,所以在任何地方我看起來都沒有意義。所以這就是爲什麼我問,我正在使用的代碼的設置與我在這個主題上找到的大多數示例的設置不同。

頁面的其他部分使用完全相同的編碼,它仍然工作得很好,它只是一個特定的部分,不,我不明白。

在另一方面,我也收到此錯誤太:

警告:)在/ home/siennahomes /的public_html /可溼性粉劑內容/主題/ realhomes,孩子的foreach(提供了無效的參數/上線948

948財產細節/財產floorplan.php是在上面的代碼,它的這部分先進

foreach($details as $title => $value){ 

感謝。

+0

你組合的數組的內容是什麼? – Poria

+0

你的意思是代碼或數據中的內容。他們只是房間的規格 – user3438298

+0

我的意思是如果你打印$ fplan2_dimensions_titles和$ fplan2_dimensions_values,這些數組中存儲的數據是什麼 – Poria

回答

1

的問題是,你的陣列是不是平等的。應具有相同的長度,因爲array_combine會做到這一點:

$carsMake = array('Ford','Mercedes','BMW'); 
$carsModel = array('Focus','180C','320'); 

所以,當我們調用array_combine()函數

$carsMakeModel = array_combine($carsMake,$carsModel) 
print_r($carsMakeModel) 

將輸出:

Array([Ford] => Focus,[Mercedes] => 180C, [BMW] => 320) 

是關閉一個解決方案PHP的警告,但我不建議這樣做。在調用這個函數之前,看看爲什麼這個數組不等於數組,並檢查數組是否等於數組。

if(count($carsMake) == count($carsModel){ 
    array_combine($carsMake,$carsModel); 
} 
+0

但我不明白什麼是需要平等的。並以什麼方式平等?這也是從wordpress調用數據,所以如果數據需要相等,那可能是不可能的。我不明白你的例子 – user3438298

+0

沒關係,我現在明白整個等號。我想清楚是什麼導致了這個問題,是的,你是對的(我仍然不明白PHP的術語,這就是爲什麼我感到困惑)。在客戶端,他們只是錯過了wordpress cms下屬性的車庫測量。如果沒有相同的測量,聯合陣列的工作方式會有什麼變化嗎?還是應該讓客戶填寫所有數據輸入? – user3438298

+0

是的,你可以在沒有array_combine()函數的情況下組合數組。 '$ carsMake = array('Ford','Mercedes','BMW'); $ carsModel = array('Focus','180C','320'); $ combinedArray = array();對於($ i = 0; $ <= count($ carsMake; $ i ++){ $ combinedArray [$ carsMake [$ i]] = $ carsModel [$ i] } } –

1

數組值的大小必須相等,因爲您將使用其他數組作爲鍵,而其他數組作爲值。

例如

<?php 
$a = array('green', 'red', 'yellow'); 
$b = array('avocado', 'apple', 'banana'); 
$c = array_combine($a, $b); 

print_r($c); 
?> 

如果碰巧從您的陣列中的一個的數據是不與其他一個創建empy值到另一個相等。