php教程 php手册 PHP手册中empty()和isset()的解释和区别

PHP手册中empty()和isset()的解释和区别

Jun 06, 2016 pm 08:00 PM
empty isset php 차이점 수동 설명하다 설명하다

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。

顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生 一些意外。原来,empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。

比如检测 $id 变量,当 $id=0 时,用empty() 和 isset() 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty() 认为没有配置,isset() 能够取得 $id 的值:

$id=0;
 empty($id)?print "It's empty .":print "It's $id ."; 
  //结果:It's empty .
 print "
";
 !isset($id)?print "It's empty .":print "It's $id .";
  //结果:It's 0 .
로그인 후 복사

这意味着,我们在使用变量处理函数时,当该变量可能出现0的值,使用 empty() 要小心,这个时候用 isset 取代它更明智一些。

当一个php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

if(empty($id)) $id=1; - 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1
로그인 후 복사

可分开运行以下代码检测上述推断:

if(empty($id)) $id=1;
print $id; // 得到 1
if(!isset($id)) $id=1;
print $id; //得到 0
로그인 후 복사

要说它们的联系,其共同点就是empty()和 isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。单从 empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它。empty()和isset()的处理对象无外乎未定义变量,0,空字符串。

如果变量为0,则empty()会返回TRUE,isset()会返回TRUE;

如果变量为空字符串,则empty()会返回TRUE,isset()会返回TRUE;

如果变量未定义,则empty()会返回TRUE,isset()会返回FLASE;

手册中对empty()的解释如下:

描述bool empty( mixed var )

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

手册中对isset()的解释如下:

isset()检测变量是否设置

描述bool isset ( mixed var [, mixed var [, ...]] )

如果 var 存在则返回 TRUE,否则返回 FALSE。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined()函数。

当要 判断一个变量是否已经声明的时候 可以使用 isset 函数

当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数

当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数

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

Nexo는 어떤 교환입니까? Nexo는 어떤 교환입니까? Mar 05, 2025 pm 07:39 PM

NEXO : Cryptocurrency Exchange 일뿐 만 아니라 Digital Financial Manager는 기존의 Cryptocurrency 교환이 아니라 Cryptocurrency 대출에 더 중점을 둔 재무 플랫폼입니다. 이를 통해 사용자는 Cryptocurrency에서 담보로 대출을 받고이자를 얻기위한 서비스를 제공 할 수 있습니다. Nexo는 암호 화폐 구매, 판매 및 상환 기능도 제공하지만 핵심 비즈니스는 암호화 대출입니다. 이 기사는 Nexo의 운영 모델과 보안을 탐구하여 투자자에게보다 포괄적 인 이해를 제공합니다. Nexo의 운영 모델은 2018 년에 설립되었으며 스위스 Zug에 본사를두고 있으며 디지털 금융 분야의 선구자입니다. 다른 중앙 대응 교환과 다르며 포괄적 인 금융 서비스 제공에 더 중점을 둡니다. 사용자는 자산을 판매하지 않고 암호 화폐를 구매, 판매, 거래 할 수 있으며

에테르와 비트 코인의 차이 에테르와 비트 코인의 차이점은 무엇입니까 에테르와 비트 코인의 차이 에테르와 비트 코인의 차이점은 무엇입니까 Mar 19, 2025 pm 04:54 PM

이더 리움과 비트 코인의 차이는 중요합니다. 기술적으로 Bitcoin은 POW를 사용하고 Ether는 POW에서 POS로 전환했습니다. 비트 코인의 경우 거래 속도가 느리고 이더 리움은 빠릅니다. 응용 프로그램 시나리오에서 Bitcoin은 지불 스토리지에 중점을두고 Ether는 스마트 계약 및 DAPP를 지원합니다. 발행 측면에서 비트 코인의 총 금액은 2,100 만 명이며 에테르 코인의 고정 된 총량은 없습니다. 각 보안 문제가 가능합니다. 시장 가치 측면에서 비트 코인은 먼저 순위를 매기고 두 가지 가격 변동이 크지 만 특성이 다르기 때문에 이더 리움의 가격 추세는 독특합니다.

PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). Apr 03, 2025 am 12:04 AM

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

콩 빵과 딥스 크의 차이점은 무엇입니까? 콩 빵과 딥스 크의 차이점은 무엇입니까? Mar 12, 2025 pm 01:24 PM

Bean Bun과 Deepseek의 핵심 차이는 검색 정확도와 복잡성입니다. 1. Doubao는 키워드 일치, 단순하고 직접적인 비용이 저렴하지만 정확도는 낮으며 구조화 된 데이터에만 적합합니다. DeepSeek은 딥 러닝을 기반으로하며 의미가 높지만 높은 비용을 가지고 있으며 구조화되지 않은 데이터에 적합합니다. 최종 선택은 애플리케이션 시나리오 및 자원 제한에 따라 달라집니다. 정확도 요구 사항이 높지 않은 경우 콩 주머니를 선택하고 높은 정밀도를 선택하면 DeepSeek을 선택하십시오.

암호화 투자 정신은 매우 중요합니다! 불필요한 걱정을 피하고 올바른 결정을 내리는 방법은 무엇입니까? 암호화 투자 정신은 매우 중요합니다! 불필요한 걱정을 피하고 올바른 결정을 내리는 방법은 무엇입니까? Mar 05, 2025 pm 07:24 PM

암호화 투자의 두려움, 불확실성 및 의심 : 정보에 입각 한 결정을 내리는 방법? 많은 암호화 투자자들은“이것은 마지막주기입니다”에 대한 두려움과 황소 시장의 기간에 대한 우려와 다른 사람들의 압력과 함께 투자 결정이 좋지 않습니다. 이 기사는 이러한 도전을 극복하고 더 똑똑한 투자 선택을하는 방법을 탐구합니다. 잠재적 위험 : 산만 : 맹목적으로 핫스팟을 쫓아 핵심 자산의 가치를 무시합니다. 비관론과 망설임 : 불확실성은 자신감이 부족하고 오랫동안 유지할 수 없으며 시장에서 나가도 심지어 나옵니다. 신념 부족 : 프로젝트에 대한 심도있는 연구 부족이며 시장 변동성에 대처할 수 없습니다. 이익 만들기 전략 부족 : 풀백에 대한 두려움, 잠재적 수익 누락으로 인해 일찍 직책을 정리합니다. 대처 전략 : 1. 핵심 영역에 중점을 둡니다.

Ouyi Okex 개방 및 마감 시간에 대한 자세한 소개 Ouyi Okex 개방 및 마감 시간에 대한 자세한 소개 Mar 18, 2025 pm 01:06 PM

Ouyi Okex Digital Asset Trading 플랫폼은 전통적인 증권 시장과 다르며 하루에 24 시간 동안 운영되며 사용자는 언제든지 화폐 거래, 통화 거래 및 계약 거래를 수행 할 수 있습니다. 그러나 플랫폼은 시스템 유지 보수 업그레이드 또는 특별 시장 이벤트 (예 : 거래 중단 또는 계약 거래 위치 개방 규칙을 수정하는 등의 시장 변동을 일으키는 극한 시장 상황과 같은 경우 거래 시간 또는 규칙을 미리 발표하고 일시적으로 조정합니다. 따라서 사용자는 플랫폼 발표 및 시장 동향에 세심한주의를 기울이고 거래 기회를 포착하며 위험 관리에 적합한 일을하는 것이 좋습니다. Ouyi Okex 거래 시간 및 규칙 조정을 이해 함으로써만 디지털 통화 시장에서 편안하게 할 수 있습니다.

콩 빵과 딥 씨의 차이 콩 빵과 딥 씨의 차이 Mar 12, 2025 pm 01:57 PM

Doubao와 Deepseek의 주요 차이점은 다음과 같습니다. 1. Doubao는 키워드 일치에 의존하는 키워드 검색 엔진입니다. 2. Bean Bag 데이터의 소스는 넓지 만 품질은 고르지 않지만 적용 범위는 좁을 수 있습니다. 3. Bean Bun 결과는 목록 형식으로 표시되며 DeepSeek은 더 풍부한 답변과 컨텍스트 정보를 제공 할 수 있습니다. 4. Bean Buns는 사용하기 쉽고 DeepSeek에는보다 복잡한 쿼리 문이 필요할 수 있습니다. 따라서 Bean Bread는 정보를 신속하게 찾는 데 적합하지만 DeepSeek은 심층적 인 의미 검색 및 정보 채굴에 적합하며 선택은 특정 요구에 따라 다릅니다.

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

See all articles