掉进PHP中的坑-null,零,false,空字符串
掉进PHP中的坑--null,0,false,空字符串
今天使用公司中的框架进行开发时发现update数据的时候,那些空字符串并没有更新导数据库中,也就是说类似于0,空字符串,null这些出现以后并没有更新到数据库中:
仔细调试的时候发现,使用了empty()这个函数:
if(!empty($params['id'])) { $filters[] = array('id', '=', $params['id']); }
然后自然就没有了这个条件,去更新数据库了,这个坑怎么填呢?就是不要使用empty(),使用isset():
if(isset($params['config_id'])) { $filters[] = array('config_id', '=', $params['config_id']); }
这两个函数的区别:
光看名字已经能看出来了empty就是看这个变量是否为空,isset看这个变量是否设置:
用自己的话来说就是:
empty就是判断这个变量里面存储的东西是0,null,false,空字符串。
isset就是这个变量是否已经声明,它可以是0,null,false,空字符串。
empty的范围比较大,isset的范围比较小。
如果要判断的非常精确:建议使用 ‘===’,这样的话,php会去检测两个变量的类型和值是否完全像等。
因此emtpy,isset,===需要看使用场景合理使用。

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











새 버전의 애플리케이션을 설치하는 동안 Windows에 "C:\\Windows\Microsoft.Net\Framework\v2.0.50727\Config\machine.configParser가 오류 0xC00CE556을 반환했습니다."를 구문 분석하는 동안 오류가 발생했습니다.라는 오류 메시지가 표시될 수 있습니다. 이 문제는 시스템을 부팅할 때도 발생합니다. 어떤 상황에서 이 문제가 발생하더라도 .NETFramework가 배후의 실제 범인입니다. 이 오류 코드가 다시 나타나는 것을 방지하는 데 사용할 수 있는 몇 가지 매우 간단한 수정 방법이 있습니다. 수정 1 – 손상된 파일 교체 원래 디렉터리에서 손상된 ma를 쉽게 교체할 수 있습니다

C 언어에서 null과 NULL의 차이점은 다음과 같습니다. null은 C 언어의 매크로 정의로, 일반적으로 포인터 변수를 초기화하거나 조건문에서 포인터가 null인지 확인하는 데 사용할 수 있는 null 포인터를 나타내는 데 사용됩니다. NULL은 C 언어의 매크로 정의입니다. 일반적으로 널 포인터, 널 포인터 배열 또는 널 구조 포인터를 나타내는 데 사용되는 널 값을 나타내는 데 사용되는 미리 정의된 상수입니다.

PHP 언어의 지속적인 발전에 따라 PHP 백엔드 프레임워크에서 널리 사용되는 ThinkPHP도 지속적으로 개선되고 있습니다. 비즈니스 시나리오가 점점 더 복잡해짐에 따라 ThinkPHP의 구성 관리에 대한 수요도 증가하고 있습니다. 이러한 맥락에서 ThinkPHP는 풍부한 구성 관리 기능을 제공합니다. 오늘은 ThinkPHPConfig를 통해 구성 관리를 구현하는 방법을 소개하겠습니다. 1. ThinkPHPConfig 소개 ThinkPHPConfig는 씬(Thin)입니다

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

JavaScript에서 undefound와 null은 모두 "아무것도 없음"이라는 개념을 나타냅니다. 1. undefine은 초기화되지 않은 변수 또는 존재하지 않는 속성을 나타냅니다. 변수가 선언되었지만 값이 할당되지 않은 경우 변수의 값은 undefine입니다. 개체에 존재하지 않는 속성에 액세스하는 경우 반환된 값도 정의되지 않습니다. 2. null은 빈 개체 참조를 나타내는 경우가 있으며, 개체 참조가 차지하는 메모리를 해제하기 위해 null로 설정할 수 있습니다.

1. CodeIgniter 소개 CodeIgniter는 웹 애플리케이션을 구축하기 위한 빠르고 강력한 도구를 웹 개발자에게 제공하도록 설계된 가볍고 포괄적인 PHP 개발 프레임워크입니다. MVC 아키텍처 패턴을 사용하여 빠른 개발과 기본 기능을 구현하는 동시에 다양한 데이터베이스를 지원하는 오픈 소스 프레임워크입니다. 2. Config 라이브러리 소개 Config 라이브러리는 CodeIgniter 프레임워크의 구성 요소로 코드를 구성하고 관리하는 데 사용됩니다. 구성 라이브러리에는 많은 내용이 포함되어 있습니다.

Null과 정의되지 않음은 모두 값이 부족하거나 정의되지 않은 상태를 나타냅니다. 사용 시나리오에 따라 Null 또는 정의되지 않음을 사용하도록 선택하는 몇 가지 기본 원칙이 있습니다. 1. 변수가 비어 있거나 유효하지 않음을 명확하게 표시해야 하는 경우 null을 사용할 수 있습니다. 2. 변수가 선언되었지만 아직 값이 할당되지 않은 경우 기본적으로 정의되지 않은 상태로 설정됩니다. 3. 변수가 비어 있는지 또는 정의되지 않았는지 확인해야 하는 경우 완전 항등 연산자 "=를 사용합니다. ==" 변수가 null인지 정의되지 않았는지 확인합니다. .

null과 정의되지 않음의 차이점은 다음과 같습니다. 1. 의미론적 의미, 3. 다른 값과의 비교, 5. 함수 매개변수와의 관계, 7. 성능 고려 사항, . JSON 직렬화의 성능 9. 유형과의 관계. 자세한 소개: 1. 의미론적 의미인 null은 일반적으로 이 변수에 유효한 개체 값이 없음을 의미하는 반면, 정의되지 않음은 일반적으로 변수에 값이 할당되지 않았거나 개체에 이 속성이 없음을 의미합니다. , 등.
