2011-05-30 3 views
0

il montre "- Debug: Undefined variable: wordscut on line 168 of /wp-content/theme"fonction wordpress _e

function cutstr($string, $length) { 
     $string =strip_tags($string); 
     preg_match_all("/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]| 
[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/", $string, $info); 
     for($i=0; $i<count($info[0]); $i++) { 
       $wordscut.= $info[0][$i]; 
       $j= ord($info[0][$i]) > 127 ? $j + 2 : $j + 1; 
       if ($j > $length - 3) { 
         return $wordscut." ..."; 
       } 
     } 
     return join('', $info[0]); 
} 

ce qui précède est ma fonction. Je sais en php, il est juste si une variable ne soit déclarée avant qu'il ne soit used.why il montre » Undefined variable: wordscut, j ..... merci

2, * requis:.. Non-printable characters were found in the '''functions.php' « » fichier Vous voudrez peut-être pour vérifier ce fichier pour les erreurs.

ce qui est Non-printable characters .Comment corriger? merci.

+0

Quelle importance est '_e()'? – Sampson

+0

pour la question # 2. Il est préférable de le diviser en une autre question. – ariefbayu

Répondre

1

C'est un un bug classique.

Lorsque PHP a commencé votre script, wordscut $ est pas défini. Lorsque vous exécutez

$wordscut .= "sometext"; 

Le code ne fait

$wordscut = $wordscut . "sometext"; 

À ce stade, wordscut de $ n'est pas disponible, donc Undefined variable erreur est survenue.

Pour résoudre ce problème, ajoutez

$wordscut = ''; 

avant

for($i=0; $i<count($info[0]); $i++) { 
+0

mais il montre aussi $ j n'est pas défini, comment l'expaliner? merci – zhuanzhou

+1

regardez votre ligne: '$ j = ord ($ info [0] [$ i])> 127? $ j + 2: $ j + 1; À ce stade, PHP ne reconnaît pas '$ j'. Mais, à la même ligne, vous l'appelez ('$ j + 2' &' $ j + 1'). PHP va analyser cela en premier et ensuite mettre le résultat à '$ j'. C'est pourquoi vous obtenez une variable indéfinie. Pour le réparer, ajoutez '$ j = 0;' avant la boucle 'for' – ariefbayu

+0

merci, savez-vous comment corriger la question # 2? – zhuanzhou