Autor Zpráva
qwertzy
Profil
Dobrý den, snažím se zjistit rozdíl mezi dvěmi proměnnými.

<?php
$retezec = 'pes';
$pole = array('pes', 'kočka', 'žába');
$diff = array_diff($retezec, $pole);
?>

$diff by měl vrátit:
array
  1 => string 'kočka' (length=4)
  2 => string 'žába' (length=4)

Místo toho vyhodí chybu, že argument funkce array_diff() nemůže být řetězec. Existuje v php funkce, která funguje na principu array_diff(), ale lze ji použít s jedním polem a jedním řetězcem?
Tori
Profil
qwertzy:
Není to asi zrovna super řešení, ale dalo by se explicitně přetypovávat vstup na pole: $diff = array_diff($pole, (array) $retezec);

$diff by měl vrátit:
V tomto pořadí argumentů vrátí pole o nula prvcích, i kdybyste $retezec přetypoval. Koukněte se do manuálu, co se porovnává proti čemu (některé komentáře jsou taky inspirativní).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: