Очевидно, код неверный.
Код:
function cmp_pc($a, $b)
{
$r1 = return strcmp($a["cena"], $b["cena"]);
$r2 = return strcmp($a["proizvoditel"], $b["proizvoditel"]);
return ($r1 & $r2);
}
Начнем с того, что получим результат первого сравнения:
Код:
$r1 = strcmp($a["cena"], $b["cena"]);
Очевидно, что если r1>0 или r1<0, то значение r2 вообще для нас несущественно. Соответственно, получаем:
Код:
function cmp_pc($a, $b)
{
$r1 = strcmp($a["cena"], $b["cena"]);
return ($r1 == 0) ? strcmp($a["proizvoditel"], $b["proizvoditel"]) : $r1;
}