Je me demandais simplement s'il était possible d'écrire ce code en une seule ligne.PHP Explode Fonction
$exp = explode(" ", $text);
$cut = $exp[0];
Sans avoir à affecter de variables.
Merci
Je me demandais simplement s'il était possible d'écrire ce code en une seule ligne.PHP Explode Fonction
$exp = explode(" ", $text);
$cut = $exp[0];
Sans avoir à affecter de variables.
Merci
Si vous ne voulez jamais la première partie, puis éviter le contournement de tableau avec strtok
:
$cut = strtok($text, " ");
cisèle quelque chose de la chaîne jusqu'au premier délimiteur (espace dans votre cas).
$var = reset(explode(" ", $text));
mais vous finirez avec un 'var' de $ qui a le premier élément (comme des questions' cut' de $, mais rien qui aurait le tableau complet, comme '$ exp ' – Nanne
cela donnera une erreur aussi:' Strict Standards: Seules les variables devraient être transmises par référence' – meze
@Nanne.C'est la question de OP – PeeHaa
$cut = substr ($text, 0, strpos ($text, ' '));
OU
$cut = substr (trim ($text), 0, strpos (trim ($text), ' '));
$cut = preg_replace('/ [\s\S]*$/', '', $text);
Ceci est la seule réponse entièrement correcte. –
C'est une très bonne réponse, et cela fonctionne parfaitement à moins que le premier caractère soit '" "'. Le résultat de la question de OP serait une chaîne vide et le résultat de votre réponse serait la chaîne de caractères de la position 1 à l'espace suivant. +1 de toute façon. – AndersTornkvist
@ richard86: Intéressant. Je n'ai jamais réalisé qu'il saute effectivement au premier non-délimiteur. J'appliquerais généralement 'trim()' pour obtenir ce comportement exact. Mais c'est une différence significative à exploser alors, si vous avez besoin/attendez une partie de chaîne vide aussi. – mario