2014-06-21 75 views
-3

這裏給出的是我的代碼部分:警告:array_search()預計參數2是數組,字符串中

$csv  = file_get_contents('states.csv'); 
$csv  = mb_convert_encoding($csv, 'UTF-8'); 
$json  = csvToJson($csv); 
$json_state = json_decode($json, true); 
$bilProvin = trim($order['billing_address']['province']); 
$bilCountry = trim($order['billing_address']['country']); 
foreach ($json_state as $keys) { 
    if (array_search($bilProvin,$bilCountry, $keys)) // Added trim 
     { 
     $bilState = substr($keys['var1'], 3); 
     if ($bilState != 'KY') { 
      $order['billing_address']['province'] = $bilState; 
     } else { 
      $order['billing_address']['province'] = ""; 
     } 
    } 
} 

如何搜索在陣列$bilCountry?從我上面的代碼顯示警告:array_search()期望參數2爲數組,在C:\xampp\htdocs\cats\index-oauth.php on line 162中給出的字符串爲很多行。

任何人都可以幫助我嗎?

謝謝!

+2

你想讓我們說什麼?錯誤消息已經足夠清楚:當你應該提供一個數組時,你已經提供了一個字符串。 –

+0

先閱讀[array_search](http://www.php.net//manual/en/function.array-search.php)手冊。 – tejashsoni111

+0

'$ bilCountry'是一個字符串,而不是一個數組。你也有3個參數,但'array_search()'只需要2('needle','haystack'),而第三個('strict')是'bool'->'true | false'。 ['array_search(mixed $ needle,array $ haystack [,bool $ strict = false])'](http://www.php.net//manual/en/function.array-search.php) – Sean

回答

0

Trim()返回一個字符串。參數2正在等待一個數組。也許你可以描述你正在嘗試做什麼,但是如果你想通過一系列項目來查看你的數據到數組中。

+0

你可以幫我用我的代碼,如何找到$ bilCountry? – user3756273

+0

@ user3756273目前還不清楚你正在努力完成什麼,但如果你理解了你的數據,tgat將會對你有很大的幫助。使用print_r()來查看像$ json_state或$ keys這樣的結構。看起來你可能需要在$ bilCountry和$ bilProvin上分別對$ key進行array_search和||。 (或)查看是否符合條件。 – Gravitoid

相關問題