2017-09-08 2 views
0

J'ai le code suivant.Comment corriger l'erreur "Seules les variables doivent être transmises par référence"?

$final = array(); 
$search_for = '<POPULARITY URL'; 
$part = file_get_contents_curl('http://data.alexa.com/data?cli=10&dat=snbamz&url='.trim($domain)); 

$str = explode($search_for, $part); //ERROR HAPPENS HERE// 
$str = array_shift(explode('"/>', $str[1])); 
$str = explode('TEXT="', $str); 
$str[1] = str_replace('" SOURCE="panel',"",$str[1]); 
preg_match('#<COUNTRY CODE="(.*?)" NAME="(.*?)" RANK="(.*?)"#si', $part, $c); 
$final['global_rank'] = $str[1]; 
$final['country_name'] = $c[2]; 
$final['country_rank'] = $c[3]; 
return $final; 

Je n'arrive pas à résoudre ce problème sans avoir cette erreur. "Normes strictes: seules les variables doivent être transmises par référence"

+0

Mettez le contenu de 'explode ('" />', $ str [1]) 'dans une variable, et passez à' array_shift' – Federkun

+0

Consultez cette réponse https://stackoverflow.com/questions/ 2354609/strict-standards-only-variables-doit-être-passé-par-référence – Ogre55

+0

do var_dump ($ part); Quelle est votre sortie? –

Répondre