2013-10-11 118 views
2

我有多個字符串我從一個JSON數組了,我投入到另一個陣列,像這樣:陣列字符串轉換通知

$myArray = $anotherArray = new array(); 

if($stringA != ""){ 
    $myArray[] = $stringA; 
}elseif($stringB != ""){ 
    $myArray[] = $stringB; 
} //so on... 

我希望把所有這些都在數據庫中的一個列,所以我把字符串推入1個數組。然後,我轉換爲使用破滅數組:

if(is_array($myArray)){ 
    $newString = implode(" ", $myArray); 
} 

這個工作在我的本地正常,但當我們移動的文件到服務器,並通過cron運行它,我接到通知陣列字符串轉換。

我在同一個文件上對不同的字符串使用了類似的代碼,但那個沒有收到錯誤,所以我不確定這裏發生了什麼。

我也使用array_values在破滅功能,像這樣嘗試:

$newString = implode(" ", array_values($myArray)); 

但是,這也不能工作。我不確定這是否意味着任何事情,但除了常規文本之外,還有一些情況,我也會打印出數組Array。所以我的問題是,這個錯誤的可能原因是什麼?我該如何解決?

+0

告訴php:'$ myArray []'是數組....寫'$ myArray = array();'if語句之前。 –

+0

我已經包含了它。雖然我不確定這是否有所作爲。我有另一個數組,所以我的聲明是這樣的:$ myArray = $ anotherArray = array(); – user1597438

+0

'$ myArray = $ anotherArray'這意味着你正在設置'$ myArray'的值等於'$ anotherArray' –

回答

7

你可以只是json_encode你的數組?

$newString = json_encode($myArray); 

而且還通知可能是因爲你的字符串中的一個可能是一個數組,你可能沒有看到這個在你的本地主機,因爲你不能有錯誤報告在PHP開啓。

嘗試將此添加到您的cron作業腳本。

ini_set('display_errors','On'); 
error_reporting(E_ALL); 
+1

非常感謝。我一直試圖弄清楚幾個小時。我打開了原始的json數組,發現我想傳遞給數組的一個字符串也是一個數組,所以我得到了錯誤。非常感謝。 – user1597438