我原來有這個大陣,我從我的數據庫中的一個縮短的版本得到:PHP的警告:array_filter()預計參數2是一個有效的回調,第二個數組成員是不是一個有效的方法
$arreglo =Array
(
"0" => Array
(
"concurso" => 2600,
"R1" => 1
),
"1" => Array
(
"concurso" => 2602,
"R1" => 1
),
"2" => Array
(
"concurso" => 2603,
"R1" => 1
),
"3" => Array
(
"concurso" => 2648,
"R1" => 1
),
"4" => Array
(
"concurso" => 2653,
"R1" => 1
),
"5" => Array
(
"concurso" => 2655,
"R1" => 1
),
"6" => Array
(
"concurso" => 2698,
"R1" => 1
),
"7" => Array
(
"concurso" => 2722,
"R1" => 1
),
"8" => Array
(
"concurso" => 2741,
"R1" => 1
),
"9" => Array
(
"concurso" => 2743,
"R1" => 1
),
"10" => Array
(
"concurso" => 2744,
"R1" => 1
),
"11" => Array
(
"concurso" => 2745,
"R1" => 1
),
"12" => Array
(
"concurso" => 2763,
"R1" => 1
),
"13" => Array
(
"concurso" => 2778,
"R1" => 1
),
"14" => Array
(
"concurso" => 2780,
"R1" => 1
),
"15" => Array
(
"concurso" => 2782,
"R1" => 1
),
"16" => Array
(
"concurso" => 2607,
"R1" => 2
),
"17" => Array
(
"concurso" => 2609,
"R1" => 2
)
);
它繼續下去,直到「R1」的元素值是56.
所以我想分開R1的每一組值,例如,當R1等於1時,我將每個值「concurso」存儲在一個名爲array 「$ concursos」通過使用以下功能:
function category($var)
{
return (is_array($var) && $var['R1'] == 1);
}
$current=array_filter($arreglo,"category");
一切正常,到現在爲止,因爲當R1 = 1,我只得到該concursos的列表時,R1 = 1,如下所示:
Array
(
[0] => 2600
[1] => 2602
[2] => 2603
[3] => 2648
[4] => 2653
[5] => 2655
[6] => 2698
[7] => 2722
[8] => 2741
[9] => 2743
[10] => 2744
[11] => 2745
[12] => 2763
[13] => 2778
[14] => 2780
[15] => 2782
)
的問題是,如果我想再次使這個下面的編號,其中R 1 = 2,3,... 56的內部for循環中,然後,而不是指定== 1,我會設置== $ currentR1,在像這樣的功能:
function category($var)
{
return (is_array($var) && $var['R1'] == $currentR1);
}
$current=array_filter($arreglo,"category");
現在問題是,如果我試圖把一個參數,該函數的調用失敗,我怎麼能在這裏指定一個參數?
我曾嘗試,例如,
$current=array_filter($repeticiones,array('category',$l));
和失敗警告我
警告:array_filter()預計參數2是一個有效的回調,第二陣列構件是不是一個有效的方法在在線X上的myScript.php
那麼我怎樣才能指定參數?
'array('category',$ l)'---你想表達什麼? 有了這個? – zerkms 2014-09-28 04:51:02