我正在開發一個基於PHP的Web應用程序。 PHP運行的版本是5.2.x!我在程序中有一個函數play
,在play
之外定義了一個名爲$study
的數組,其中包含一些元素。在PHP版本中使用「use」<5.3
function play($games, $time) {
//Do something here
$lol = array_search(strtolower($games), array_map('strtolower', $study['somevar']));
}
現在,這裏的問題是我在其他地方調用play()
在我的代碼,但你可以看到我引用$study['somevar']
但功能只需要兩個參數:$games
& $time
所以沒有辦法參考$研究[」 somevar'。我知道有時在PHP這也適用
function play($games, $time) use ($study){
//do something
}
但是當我嘗試比它給了錯誤的PHP 5.2使用此use
語法運行。那麼,我該如何做到這一點呢?有任何想法嗎?
編輯1:
所以,這就是$研究陣列打印出來(我試過外功能)
echo $study['somevar'] : It prints out Array (English word "Array")
echo $study['somevar'][0] : It prints out blahblah (0th element)
echo $study['somevar'][1] : It prints out OKoK (1st element)
簡單地說,使用的var_dump($研究)我有
["somevar"]=>
array(2) {
[0]=>
string(8) "blahblah"
[1]=>
string(4) "OKoK"
有一個在學習上沒有第二個元素 - > somevar。所以,只有兩個(0級和1)
現在,基本上我想用這個數組在搜索功能play
中使用$遊戲。所以,爲了這個功能,如可以在僞代碼見上文我已經使用
array_search(strtolower($games), a second element)
現在內部array_search該第二元件,我希望所有的數組$研究的元件(即blahblah,奧科克)要被轉換爲小寫,所以我可以很容易地使用array_search
方法進行匹配。因此,我使用的邏輯,以array_map('strtolower', $study['somevar'])
..
,並放置成array_search
方法等:
$lol = array_search(strtolower($games), array_map('strtolower', $study['somevar']));
現在,在進一步的代碼我通過一些值在功能play('OkOk', 10);
並且在此所述OKOK應該匹配進入我們的硬編碼$ study數組中,因爲元素1包含該鍵。這是邏輯。但我得到像
array_map() Argument #2 should be an array in ..........
array_search() [<a href='function.array-search'>function.array-search</a>]: Wrong datatype for second argument in .........
還是錯誤@RyanVincent'array_map():參數#2應該是&array_search()中的數組: ' –
@RyanVincent當在函數外部打印study ['somevar'] [0]時,它會給出好的輸出結果。 –
@RyanVincent兄弟,我已經完整地更新了問題。請重新看 –