백엔드 개발 PHP 튜토리얼 PHP您可能也会掉入的坑

PHP您可能也会掉入的坑

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

PHP你可能也会掉入的坑

今天被人问:

$var = 'test';if (isset($var['somekey'])){    echo 'reach here!!!';}
로그인 후 복사

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

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

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

var_dump($var['somekey']);//=>output:  string(1) "t"
로그인 후 복사
是字符'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'。

完。


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP는 지정된 키가 배열에 존재하는지 확인합니다. PHP는 지정된 키가 배열에 존재하는지 확인합니다. Mar 21, 2024 pm 09:21 PM

이 글에서는 PHP가 특정 키가 배열에 존재하는지 여부를 어떻게 판단하는지 자세히 설명할 것입니다. 편집자는 이것이 매우 실용적이라고 생각하므로 이 글을 읽으신 후 참고하실 수 있기를 바랍니다. PHP는 지정된 키가 배열에 존재하는지 확인합니다. PHP에서는 지정된 키가 배열에 존재하는지 확인하는 여러 가지 방법이 있습니다. 1. isset() 함수를 사용합니다: isset($array["key"]) 이 함수 부울 값을 반환합니다. 지정된 키가 존재하면 true이고, 그렇지 않으면 false입니다. 2. array_key_exists() 함수를 사용하세요: array_key_exists("key",$arr

도메인 이름을 바인딩하고 루트 디렉터리를 nginx 서버에 설정하는 방법 도메인 이름을 바인딩하고 루트 디렉터리를 nginx 서버에 설정하는 방법 May 13, 2023 pm 09:10 PM

nginx 서버가 도메인 이름을 바인딩하고 루트 디렉터리를 설정하는 것은 매우 편리합니다. 먼저 nginx 설치 디렉터리에 들어간 다음 vimconf/nginx.conf를 실행하여 nginx 구성 파일을 열고 코드 세그먼트 서버를 찾습니다{.. ... 이 코드 조각은 해당 사이트를 구성하는 데 사용됩니다. 먼저 도메인 이름 제어판에서 도메인 이름을 서버의 IP 주소로 확인해야 바인딩이 적용됩니다. 먼저 server_name 항목을 찾으세요. 코드 조각에 다음 도메인 이름을 추가합니다. 바인딩하려는 도메인 이름으로 변경합니다. 루트는 지정된 루트 디렉터리로 설정하면 됩니다. 여러 도메인 이름을 바인딩하려면 어떻게 해야 합니까?

PHP에서 var 키워드의 역할과 예 PHP에서 var 키워드의 역할과 예 Jun 28, 2023 pm 08:58 PM

PHP에서 var 키워드의 역할과 예 PHP에서는 var 키워드를 사용하여 변수를 선언합니다. 이전 PHP 버전에서는 var 키워드를 사용하는 것이 멤버 변수를 선언하는 관용적인 방법이었지만 더 이상 사용이 권장되지 않습니다. 그러나 어떤 경우에는 var 키워드가 계속 사용됩니다. var 키워드는 주로 지역 변수를 선언하는 데 사용되며 해당 변수는 자동으로 지역 범위로 표시됩니다. 즉, 변수는 현재 코드 블록 내에서만 볼 수 있으며 다른 함수나 코드 블록에서는 액세스할 수 없습니다. var 사용

Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법 Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법 Jun 05, 2023 pm 10:23 PM

오디오 출력 및 입력이 Windows 11에서 예상대로 작동하려면 특정 드라이버와 서비스가 필요합니다. 때때로 백그라운드에서 오류가 발생하여 오디오 출력 없음, 오디오 장치 누락, 오디오 왜곡 등과 같은 오디오 문제가 발생합니다. Windows 11에서 응답하지 않는 오디오 서비스를 수정하는 방법 아래 언급된 수정 사항부터 시작하여 문제가 해결될 때까지 목록을 살펴보는 것이 좋습니다. Windows 11에서는 여러 가지 이유로 오디오 서비스가 응답하지 않을 수 있습니다. 이 목록은 Windows 11에서 오디오 서비스가 응답하지 못하게 하는 대부분의 문제를 확인하고 해결하는 데 도움이 됩니다. 프로세스를 진행하는 데 도움이 되도록 아래 관련 섹션을 따르세요. 방법 1: 오디오 서비스를 다시 시작합니다.

var, let 및 const의 차이점에 대해 이야기해 보겠습니다(코드 예). var, let 및 const의 차이점에 대해 이야기해 보겠습니다(코드 예). Jan 06, 2023 pm 04:25 PM

이 글은 여러분에게 JavaScript에 대한 관련 지식을 제공합니다. 주로 var, let 및 const의 차이점과 ECMAScript와 JavaScript의 관계를 소개합니다. 관심 있는 친구들이 이 글을 살펴보는 것이 도움이 될 것입니다.

오류 AttributeError(\'{0!r} 객체에 {1!r}\'.format(type(self).__name__, k)) 속성이 없습니다. 오류 AttributeError(\'{0!r} 객체에 {1!r}\'.format(type(self).__name__, k)) 속성이 없습니다. Feb 29, 2024 pm 06:40 PM

오류 메시지가 나타나는 이유는 Python 코드에서 객체(self 변수로 표시됨)가 사용되지만 해당 객체에 k라는 속성이 없기 때문입니다. 이는 객체가 이 속성을 정의하지 않거나 코드의 유형 오류로 인해 객체가 예상 유형이 아니기 때문일 수 있습니다. 해결 방법 이 오류를 해결하려면 다음 중 하나 이상을 수행해야 할 수 있습니다. 코드에서 오류를 확인하고 self 변수가 참조하는 개체에 k라는 속성이 있는지 확인하세요. 코드에서 유형 오류가 있는지 확인하고 self 변수가 참조하는 객체가 예상된 유형인지 확인하세요. 속성이 누락된 경우 클래스에서 이 속성을 정의해야 합니다. k가 클래스에 정의되지 않은 속성이라고 확신하는 경우 tryException을 사용하세요.

let var const는 무엇을 의미하나요? let var const는 무엇을 의미하나요? Nov 14, 2023 pm 03:00 PM

llet, var 및 const는 각각 블록 범위 변수, 함수 범위 변수 및 상수를 나타냅니다. 자세한 소개: 1. 블록 범위에서 변수를 선언하는 데 사용됩니다. let을 사용하여 선언된 변수는 선언되기 전에는 액세스할 수 없습니다. 2. var는 키를 선언하는 데 사용됩니다. 변수. 선언된 변수는 함수 범위 또는 전역 범위에 있으며 블록 수준 범위에 의해 제한되지 않습니다. 3. 상수를 선언하는 데 사용됩니다. 변수는 선언 이후에 다시 할당할 수 있습니다. 등을 수정할 수 없습니다.

CentOS 시스템의 디스크 공간 사용량 쿼리 CentOS 시스템의 디스크 공간 사용량 쿼리 Feb 20, 2024 am 08:09 AM

명령 소개 df-h 명령을 사용하면 각 파일 시스템의 총 용량과 사용된 용량을 볼 수 있습니다. 출력에 따르면 /dev/mapper/centos-root는 공간의 47%인 36G를 차지합니다. du-h-x–max-length=1/ 명령을 사용하여 루트 디렉터리 아래의 각 하위 디렉터리 크기를 확인합니다. /var, /home, /usr 등과 같이 출력을 기반으로 많은 공간을 차지하는 디렉터리를 찾을 수 있습니다. du-h-x--max-length=1/var 명령을 실행하여 /var 디렉터리의 각 하위 디렉터리 크기를 확인할 수 있습니다. 더 많은 공간을 차지하는 파일이나 디렉터리를 찾을 때까지 이 프로세스를 계속합니다. 추천글 https://blog.csdn.n

See all articles