php_PHP チュートリアルで false を返すアンシリアライズの解決策
phpでfalseを返すアンシリアライズの解決策
phpは、serialize(シリアル化)メソッドとunserialize(デシリアライズ)メソッドを提供します。
serialize を使用してシリアル化した後、unserialize を使用してデシリアライズして元のデータを取得します。
まず次のプログラム例を見てみましょう:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$arr = 配列( '名前' => 'fdipzone'、 「性別」=>「男性」 ); $str = Serialize($arr) //シリアル化 echo 'str:'.$str."rnrn" をシリアル化します
$content = unserialize($str); // 逆シリアル化 echo "str:rn のシリアル化を解除"; var_dump($content); ?>
|
2 3 4 5 6 7 8 9
| str:a:2:{s:4:"名前";s:8:"fdipzone";s:6:"性別";s:4:"男性";} をシリアル化します
文字列のシリアル化を解除します: 配列(2) { ["名前"]=> 文字列(8) "fdipzone" ["性別"]=> 文字列(4)「男性」}
|
3 4
| $str = 'a:9:{s:4:"時刻";i:1405306402;s:4:"名前";s:6:"新陳";s:5:"url";s:1 : "-";s:4:"単語";s:1:"-";s:5:"rpage";s:29:"http://www.baidu.com/test.html";s : 5:"cpage";s:1:"-";s:2:"ip";s:15:"117.151.180.150";s:7:"ip_city";s:31:"北京、中国都市モバイル";s:4:"ミャオ";s:1:"5";}';
var_dump(unserialize($str)) // bool(false) ?>
シリアル化された文字列を確認し、問題が 2 か所にあることを確認します: s:5:"URL" この問題の原因は、データをシリアル化するときのエンコーディングがデシリアル化するときのエンコーディングと矛盾していることです。たとえば、データベースが latin1 であり、UTF-8 の文字長が異なることが原因です。
1
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
![]() ホットAIツール![]() Undresser.AI Undressリアルなヌード写真を作成する AI 搭載アプリ ![]() AI Clothes Remover写真から衣服を削除するオンライン AI ツール。 ![]() Undress AI Tool脱衣画像を無料で ![]() Clothoff.ioAI衣類リムーバー ![]() AI Hentai GeneratorAIヘンタイを無料で生成します。 ![]() 人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD
![]() ホットツール![]() メモ帳++7.3.1使いやすく無料のコードエディター ![]() SublimeText3 中国語版中国語版、とても使いやすい ![]() ゼンドスタジオ 13.0.1強力な PHP 統合開発環境 ![]() ドリームウィーバー CS6ビジュアル Web 開発ツール ![]() SublimeText3 Mac版神レベルのコード編集ソフト(SublimeText3) ![]() ホットトピック
Gmailメールのログイン入り口はどこですか?
![]() ![]()
Java チュートリアル
![]() ![]()
CakePHP チュートリアル
![]() ![]()
Laravel チュートリアル
![]() ![]()
PHP チュートリアル
![]() ![]() ![]() PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。 ![]() ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。 ![]() CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー ![]() Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、 ![]() |