Heim Backend-Entwicklung PHP-Tutorial PHP您可能也会掉入的坑

PHP您可能也会掉入的坑

Jun 13, 2016 am 11:35 AM
here isset var

PHP你可能也会掉入的坑

今天被人问:

$var = 'test';if (isset($var['somekey'])){    echo 'reach here!!!';}
Nach dem Login kopieren

会不会输出'reach here!!!'? ---当然不会啊。我想也没想就答。

果然,我掉坑里了!会输出的!如果你没掉坑里,那么恭喜你,你也不用往下看了。

现在,让我们来分析一下。既然 isset 了,那么值到底是什么呢?我们把它打印出来:

var_dump($var['somekey']);//=>output:  string(1) "t"
Nach dem Login kopieren
是字符't',就是 $var 的第一个字符,到这里想明白了吗?

因为变量$var是一个字符串,学过C语言的话就知道它是char类型的数组,所以我们可以用 $var[0] $var[1] $var[$i]...取到 $var 的第 $i+1 个字符。那么刚才的 'somekey' 为什么取到的是第一个字符呢?这是因为php在这里做了隐式的类型转换,将这里的字符串转换成int型。你试过intval('somekey')函数的话就知道得到的就是0,所以 $var['somekey']最终就是 $var[0]了。最后,得到了 't'。

完。


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist Mar 21, 2024 pm 09:21 PM

PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist

Die Rolle und Beispiele des Schlüsselworts var in PHP Die Rolle und Beispiele des Schlüsselworts var in PHP Jun 28, 2023 pm 08:58 PM

Die Rolle und Beispiele des Schlüsselworts var in PHP

18 Möglichkeiten, das Problem zu beheben, dass der Audiodienst unter Windows 11 nicht reagiert 18 Möglichkeiten, das Problem zu beheben, dass der Audiodienst unter Windows 11 nicht reagiert Jun 05, 2023 pm 10:23 PM

18 Möglichkeiten, das Problem zu beheben, dass der Audiodienst unter Windows 11 nicht reagiert

So binden Sie den Domänennamen und legen das Stammverzeichnis auf den Nginx-Server fest So binden Sie den Domänennamen und legen das Stammverzeichnis auf den Nginx-Server fest May 13, 2023 pm 09:10 PM

So binden Sie den Domänennamen und legen das Stammverzeichnis auf den Nginx-Server fest

Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel) Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel) Jan 06, 2023 pm 04:25 PM

Lassen Sie uns über die Unterschiede zwischen var, let und const sprechen (Codebeispiel)

Lösung für den Fehler AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k)) Lösung für den Fehler AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k)) Feb 29, 2024 pm 06:40 PM

Lösung für den Fehler AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k))

Was bedeutet let var const? Was bedeutet let var const? Nov 14, 2023 pm 03:00 PM

Was bedeutet let var const?

Über tausend Android-Apps haben heute den Weg zu Windows 11 gefunden Über tausend Android-Apps haben heute den Weg zu Windows 11 gefunden May 09, 2023 pm 07:01 PM

Über tausend Android-Apps haben heute den Weg zu Windows 11 gefunden

See all articles