掉进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ヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











新しいバージョンのアプリケーションのインストール中に、Windows で「C:\\Windows\Microsoft.Net\Framework\v2.0.50727\Config\machine.configParser の解析中にエラーが発生しました。エラー 0xC00CE556 が返されました」というエラー メッセージが表示されることがあります。この問題は、システムの起動時にも発生します。どのような状況でこの問題が発生しても、.NETFramework が舞台裏の真の原因です。このエラー コードが再び表示されないようにするために使用できる非常に簡単な修正がいくつかあります。修正 1 – 破損したファイルを置き換える 破損したファイルは元のディレクトリから簡単に置き換えることができます

null と C 言語の NULL の違いは次のとおりです。 null は C 言語のマクロ定義であり、通常は null ポインタを表すために使用され、ポインタ変数を初期化したり、条件文でポインタが null であるかどうかを判断したりするために使用できます。 NULL は、C 言語のマクロ定義です。 の定義済み定数で、通常は NULL 値を表すために使用され、NULL ポインター、NULL ポインター配列、または NULL 構造体ポインターを表すために使用されます。

JavaScript では、未定義と null はどちらも「何もない」という概念を表します: 1. 未定義は初期化されていない変数または存在しないプロパティを表します。変数が宣言されていても値が割り当てられていない場合、変数の値は未定義です。オブジェクト内に存在しないプロパティにアクセスする場合、戻り値も未定義になります; 2. null は空のオブジェクト参照を表します。場合によっては、オブジェクト参照を null に設定して、オブジェクト参照が占有しているメモリを解放できます。

この記事では、PHP が配列内に指定されたキーが存在するかどうかを判断する方法について詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP は、指定されたキーが配列内に存在するかどうかを判断します。 PHP では、指定されたキーが配列内に存在するかどうかを判断する方法が数多くあります。 1. isset() 関数を使用します: isset($array["key"]) この関数ブール値を返します。指定されたキーが存在する場合は true、存在しない場合は false。 2. array_key_exists() 関数を使用します: array_key_exists("key",$arr)

PHP 言語の継続的な開発に伴い、PHP バックエンド フレームワークで広く使用されている ThinkPHP も継続的に改良されています。ビジネス シナリオがますます複雑になるにつれて、ThinkPHP での構成管理の需要も高まっています。そこで、ThinkPHP には豊富な構成管理機能が備わっていますので、今回は ThinkPHPConfig を使用して構成管理を実装する方法を紹介します。 1. ThinkPHPConfig の概要 ThinkPHPConfig は Thin

null と未定義の違いは次のとおりです: 1. 意味上の意味; 2. 使用シナリオ; 3. 他の値との比較; 4. グローバル変数との関係; 5. 関数パラメーターとの関係; 6. Nullability チェック; 7. パフォーマンスに関する考慮事項; 8 . JSON シリアル化のパフォーマンス; 9. 型との関係。詳細な紹介: 1. セマンティックな意味。null は通常、この変数が有効なオブジェクト値を持たないことがわかっていることを意味し、未定義は通常、変数に値が割り当てられていない、またはオブジェクトにこの属性がないことを意味します。 2. 使用シナリオ、など。

null と unknown はどちらも、値が欠落しているか、未定義の状態であることを示します。使用シナリオに応じて、null または unknown の使用を選択するための指針がいくつかあります。1. 変数が空または無効であることを明確に示す必要がある場合、 null を使用できます; 2. 変数が宣言されていても値が割り当てられていない場合、デフォルトで未定義に設定されます; 3. 変数が空か未定義かを確認する必要がある場合は、厳密な等価演算子 "= を使用します。 == 変数が null か未定義かを判断します。

1. CodeIgniter の概要 CodeIgniter は、Web 開発者に Web アプリケーションを構築するための高速かつ強力なツールを提供するように設計された軽量で包括的な PHP 開発フレームワークです。 MVC アーキテクチャ パターンを使用して迅速な開発と基本機能を実現し、さまざまなデータベースをサポートするオープンソース フレームワークです。 2. Config ライブラリの概要 Config ライブラリは CodeIgniter フレームワークのコンポーネントであり、コードの設定と管理に使用されます。 Config ライブラリには多くのものが含まれています
