2010-05-13 4 views
1

Si j'ai ce tableau:PHP Comment puis-je vérifier correctement si un tableau est multidimensionnel - comportement de tableau étrange

$foo[0] = 'bar'; 
$foo[1] = 'bar bar'; 

echo $foo[0][1]; 

// result 
a 
// i.e the second letter of 'bar' 

Je veux vérifier que $ foo [0] [1] est réglé non-à-dire si je devais:

$foo[0][1] = 'bar'; 

qu'il évaluerait à vrai, mais dans mon exemple original de $ foo [0] 'bar' = j'attendre à ce que:

isset($foo[0][1]) 

reviendrait faux;

Quelle est la bonne façon de tester cela s'il vous plaît.

Répondre

7

PHP ne possède pas de tableaux multidimensionnels. Il a des tableaux de tableaux. Il est important de comprendre la différence.

que vous devez faire:

if (is_array($foo[0]) && isset($foo[0][1])) { 
    ... 
} 
0

doh

il est ->

array_key_exists($foo[0][1]); 

Je suis toujours confus quant à pourquoi PHP pense que le $ foo [0] [1] est fixé dans le ...

0

En utilisant $ foo [0] [1], vous accédez en fait le premier caractère de la chaîne $ foo [0].

Questions connexes