2010-06-17 6 views
9

Je ne sais pas s'il y a un moyen de vérifier une variable si elle est exploser-mesure ou non ...variable Vérifiez si explosera-mesure en PHP

J'ai une base de données des noms de ville certains sont une des villes de mots et certains sont plusieurs villes de mot

EX: Chicago, Los Angeles

Je continue de recevoir une erreur lors de l'utilisation « imploser » lorsqu'un nom de la ville est un mot, donc j'essayé d'utiliser « count » et en utilisant une instruction if. .. ne pas avoir de chance

$citi = explode(' ', $row['city']); 
$count = count($citi); 
if ($count > 1) { 
    $city = implode('+', $citi); 
} 
else { 
    $city = $citi; 
} 
+1

Quelle erreur obtenez-vous? – Sjoerd

Répondre

22
if(strpos($row['city'], ' ') !== false) { 
    // explodable 
} else { 
    // not explodable 
} 
+0

Merci beaucoup pour votre réponse rapide! – ZaneDeFazio

0

explode() renvoie toujours un tableau, qu'il ait explosé quelque chose ou non.

$a = explode(' ', 'Chicago'); 
print_r($a); 
// output: array('Chicago') 
0

Oui, peut certainement être fait. Essayez stristr()

if(stristr($row['city'], ' ')) 
    // It has a space, therefore explodable 

Il LOOS comme vous essayez de transformer les espaces en « + ».

Je voudrais simplement utiliser un str_replace()

$city = str_replace(' ', '+', $row['city']); 
+0

HA! Je n'ai même pas pensé à utiliser str_replace, ce qui aurait été beaucoup plus facile. Merci pour votre réponse. – ZaneDeFazio

+0

Vous êtes les bienvenus :) –

6

utilisation s'exploser pour voir si elle est explosif

$a = explode(" ","Where Am I?"); 
if(count($a)>1) { 
    echo "explodable"; 
} 
else { 
    echo "No use of exploding"; 
} 

+0

Très bien. C'est très pratique, alors toutes les autres méthodes. – YumYumYum

0

Ceci est la façon la plus efficace. J'ai mis en œuvre ceci.

$name = $_POST["address_name"]; 
if(strpos($row['city'], ' ') !== false) { 
    // explodable 
    list($fname, $lname) = explode(' ', $name); 
} else { 
    // not explodable 
    $fname = $name; 
    $lname = $name; 
} 
Questions connexes