Ich habe ein Array mit zahlreichen Dimensionen, und ich möchte für die Existenz einer Zelle testen.PHP: Testen der Existenz einer Zelle in einem multidimensionalen Array
Der Ansatz unten kaskadiert werden, wird sicher eine sichere Art und Weise sein, es zu tun:
if (array_key_exists($arr, 'dim1Key'))
if (array_key_exists($arr['dim1Key'], 'dim2Key'))
if (array_key_exists($arr['dim1Key']['dim2Key'], 'dim3Key'))
echo "cell exists";
Aber gibt es einen einfacheren Weg?
Ich werde in mehr Einzelheiten gehen:
- Kann ich diese Prüfung in einer einzigen Anweisung ausführen?
- Muss ich array_key_exist verwenden oder kann ich etwas wie isset verwenden? Wann verwende ich jedes und warum?
Danke. Wenn ja, warum sollte man jemals array_key_exists verwenden? – shealtiel
@gidireich: genau aus diesem Grund. Um zwischen einem vorhandenen Schlüssel und einem Nullwert und einem Schlüssel, der überhaupt nicht existiert, unterscheiden zu können. Was ist nur ein Grund, wenn Sie sich darum kümmern. – Jon
Mit 'isset' prüfen Sie, ob der Schlüssel und der Wert existiert oder nicht null ist. Mit' array_key_exists' überprüfen Sie, ob der ** Schlüssel ** existiert, unabhängig davon, ob die Werte 'null' sind – RobertPitt