Cześć, piszę sobie takiego prostego menadżerka i mam problem z funkcją do sortowania tablicy wielowymiarowej.
O ile bowiem działa mi na dwóch elementach, tak nie mogę jej ustawić na więcej.
na dwóch śmiga:
function porównaj_punkty( $a_suma_punktów,
$b_suma_punktów)
// $c_suma_punktów,
// $d_suma_punktów,
// $e_suma_punktów,
// $f_suma_punktów,
// $g_suma_punktów,
// $h_suma_punktów,
// $i_suma_punktów,
// $j_suma_punktów)
{
if ($a_suma_punktów[2] == $b_suma_punktów[2]) return 0;
else if ($a_suma_punktów[2] < $b_suma_punktów[2]) return 1;
else return -1;
}
na czterech stoi (IMG:
style_emoticons/default/thumbsdownsmileyanim.gif)
function porównaj_punkty( $a_suma_punktów,
$b_suma_punktów,
$c_suma_punktów,
$d_suma_punktów)
// $e_suma_punktów,
// $f_suma_punktów,
// $g_suma_punktów,
// $h_suma_punktów,
// $i_suma_punktów,
// $j_suma_punktów)
{
if ($a_suma_punktów[2] == $b_suma_punktów[2])
{
return 0;
}
else if ($a_suma_punktów[2] < $b_suma_punktów[2])
{
return 1;
}
else
{
return -1;
}
if ($c_suma_punktów[2] == $d_suma_punktów[2])
{
return 0;
}
else if ($c_suma_punktów[2] < $d_suma_punktów[2])
{
return 1;
}
else
{
return -1;
}
if ($a_suma_punktów[2] == $c_suma_punktów[2])
{
return 0;
}
else if ($a_suma_punktów[2] < $c_suma_punktów[2])
{
return 1;
}
else
{
return -1;
}
if ($b_suma_punktów[2] == $d_suma_punktów[2])
{
return 0;
}
else if ($b_suma_punktów[2] < $d_suma_punktów[2])
{
return 1;
}
else
{
return -1;
}
}
i wyskakuje taki brzydal, że nic nie rozumiem:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function porównaj_punkty(),
2 passed and exactly 4 expected in C...:379 Stack trace: #0 [internal function]: porównaj_punkty(Array, Array) #1
C..(442): usort(Array, 'por\xC3\xB3wnaj_punkt...') #2 C:...(147): include('C:\\xampp\\htdocs...') #3 {main} thrown in C:\xampp\... on line 379
ok znalazłem problem - dwie ogólne nazwy zmiennych:
function porównaj_punkty($x,$y)
{
if ($x[1] == $y[1]) return 0;
else if ($x[1] < $y[1]) return 1;
else return -1;
}
ale się przy tym na-modliłem!
Ten post edytował szachmat 26.12.2017, 22:17:00