2017-08-07 4 views
1

J'essaie de vérifier si une variable est existante, et sinon - alors définissez-la.php check isset du tableau

$checkarray = array($demo1, $demo2, $demo3); 

foreach ($checkarray as $checkkey) { 
    if (!isset($checkkey)) { 
    $checkkey = 'none'; 
    } 
} 

Mais je suis juste cette erreur: * Avis: Undefined variable: demo1 (et ainsi de suite ...)

C'est bascially ce que je suis en train de achive ...

if (!isset($demo1)) { 
    $demo1 = 'none'; 
} 

if (!isset($demo2)) { 
    $demo2 = 'none'; 
} 

if (!isset($demo3)) { 
$demo3 = 'none'; 
} 

Mais ce n'est pas joli.

Des idées?

Vive Kris

+1

Eh bien, vous ne peut évidemment pas mettre des variables dans un tableau qui pourrait exister même pas ... Qu'est-ce que vous pourriez faire, est mis que la variable _names_ ou tableau _keys_ à rechercher dans un tableau que vous bouclez ensuite ... mais cela aurait plus de sens, si votre entrée était déjà sous la forme d'un tableau. _Variable variables_ vous aide à effectuer la vérification si vous en avez besoin pour les variables réelles, et non pour les tableaux. – CBroe

+0

Si vous cherchez juste à voir si la valeur existe, consultez [in_array] (http://php.net/manual/fr/function.in-array.php) – aynber

+0

@CBroe vous avez raison. Les variables variables étaient la voie à suivre. Thnx – stangerup

Répondre

1

Vous devez utiliser le nom var dans votre tableau de contrôle et non le var lui-même. On appelle cela Variable variable

Ensuite, vous pouvez faire quelque chose comme ceci:

$checkarray = array('demo1', 'demo2', 'demo3'); 

foreach ($checkarray as $checkkey) { 
    if (!isset($$checkkey)) { 
    $$checkkey = 'none'; 
    } 
} 
+0

Merci beaucoup - ça marche! – stangerup