※ ChatGPTを利用し、要約された質問です(原文:Smartyへの2次元配列引渡しについて)
Smartyへの2次元配列引渡しについて
このQ&Aのポイント
Smartyを使用してPHPで2次元配列を取得し表示する際に、一部の環境では中身がNULLになってしまう現象が発生しています。
対処法を探してみましたが、解決できないため、質問します。
環境によって処理される内容も変わってくるのでしょうか。
PHP+Smartyで現在開発をしておりますが
MySQLからデータを取得し、それをSmartyに引き渡すと中身がNULLになってしまう現象が発生しています。
これがすべてにおいて発生しているのであれば納得いくのですが
ある環境では発生して、またある環境では問題なく処理できるのです。
対処法を探してみましたが、どうしても対処できないので
ご教授いただけたらと思います。
サーバから抽出した内容をPHP側でvar_dumpしたものです。
array(3) { [0]=> array(1) { ["ITEM_ID"]=> string(1) "1" } [1]=> array(1) { ["ITEM_ID"]=> string(1) "2" } [2]=> array(1) { ["ITEM_ID"]=> string(1) "3" } }
これを
$smarty -> assign("LIST", $ROW);
でsmartyに出力しました。
Smarty側では以下の内容を実行しました。
{{$LIST|@var_dump}}
結果
array(3) { [0]=> NULL [1]=> NULL [2]=> NULL }
でした。
問題ない環境だと
array(3) { [0]=> array(1) { ["ITEM_ID"]=> string(1) "1" } [1]=> array(1) { ["ITEM_ID"]=> string(1) "2" } [2]=> array(1) { ["ITEM_ID"]=> string(1) "3" } }
ときちんと値を引き継いでいます。
下記は上記の内容を実行した環境です。
動作しなかった環境
ローカル(XAMPP使用)
PHP Version 5.2.9
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9
サーバ: localhost via TCP/IP
サーバのバージョン: 5.1.33-community
MySQL クライアントのバージョン: 5.0.51a
動作した環境
レンタルサーバー
PHP Version 5.2.9
Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
サーバ: Localhost via UNIX socket
サーバのバージョン: 5.0.75-community-log
MySQL クライアントのバージョン: 5.0.75
サーバー環境によって処理される内容もかわってくるのでしょうか・・・。