ホームページ > バックエンド開発 > PHPチュートリアル > PHP初心者、配列値の問題!

PHP初心者、配列値の問題!

WBOY
リリース: 2016-06-23 13:01:25
オリジナル
902 人が閲覧しました

シーケンスは次のとおりです: (たくさんのデータからセットを選択しました。実際には、すべてのデータを取り出してウィンドウにエコーしたいのですが)
[16] => Array
(
) [オプション ID ] => 30


私が達成したいのは、option_nameの値arr_typeをエコーするとき(つまり、$arr_typeを直接エコーするとき)、rar、zip、gif、jpg、jpeg、png、 pdf、ドキュメント、ドキュメント。
現時点では、ループを使用して値を割り当てることはわかっていますが、att_type の値を取得するには echo $option_name しか使用できません。rar、zip、gif、jpg、jpeg、png、txt、pdf を取得するために $att_type を使用することはできません。 、ドキュメント、ドキュメント。マスター、私のアイデアを実現するためのコードを書くのを手伝ってください、助けてください。 ! ! ! ! !


ディスカッションへの返信(解決策)
神様、来て私を救ってください。 。 。 。 。 。 。 。 。 。

何か問題があります。すべての arr_type が間違っています。att_type である必要があります。

神様、助けに来てください。 。 。 。 。 。 。 。 。 。 。

コードを投稿しないと助けるのは難しい

コードを投稿しないと助けるのは難しい

コードは非常に簡単で、最初にデータベースから選択して配列に入れるだけですそしてそれを print_r して出力すれば終わりです。

$arr = $this->Setting_model->get_setting();// $query=$this->db->get('options');return $query->result_array();

$ this->load->p($arr);die;

データベースは関係なさそうなので載せません

$this->load->p() //public function p( ){echo '
;print_r($arr);echo '
';}
しかし、あなたの要求はあまりにも異なっていて、見知らぬ人ですrar,zip,gif,jpg,jpeg, png, txt, pdf, docx, doc

これがどういう意味なのか分かりません

$a = array(    16 => Array        (            'option_id' => 30,            'option_name' => 'att_type',            'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc',        ),);foreach($a as $r) {  ${$r['option_name']} = $r['option_value'];  echo $att_type;}
ログイン後にコピー
ログイン後にコピー


でも、あなたの要求は本当に違いすぎて奇妙です

$arr =  Array    (            'option_id' => 30,            'option_name' => 'att_type',            'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc'    );$a[$arr['option_name']] = $arr['option_value'];extract($a);var_dump($att_type);
ログイン後にコピー
ログイン後にコピー
rar、zip、gif、jpg、jpeg、png、txt 、pdf、docx、doc

これは間違いなく機能しません、エラーが報告されます、未定義の att_type


これが何を意味するかわかりません

$a = array(    16 => Array        (            'option_id' => 30,            'option_name' => 'att_type',            'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc',        ),);foreach($a as $r) {  ${$r['option_name']} = $r['option_value'];  echo $att_type;}
ログイン後にコピー
ログイン後にコピー


エラーが報告されます、未定義の option_name、オプションの値。 。 。待って、たくさん (未定義のインデックス: option_value)


本当ですか?それは当然のことだと思いますよね? !
私の操作の結果はすべて出ています

抽出関数は間違いなく使用されることはわかりますが、その関数はnameの値をvalueに代入することのようです

そうですか?それは当然のことだと思いますよね? !

私の操作の結果はすべて出ました

結果の写真を見てください。実行するとエラーが発生するのはなぜですか?


しかし、あなたの要求は実際にはあまりにも異なっていて奇妙です。
$arr =  Array    (            'option_id' => 30,            'option_name' => 'att_type',            'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc'    );$a[$arr['option_name']] = $arr['option_value'];extract($a);var_dump($att_type);
ログイン後にコピー
ログイン後にコピー
rar,zip,gif,jpg, jpeg,png ,txt,pdf,docx,doc

また賢くなって ${$r['option_name']} = $r['option_value']; という文が理解できなかったので、変更しました$r ['オプション名']= $r['オプション値']; に。ごめんなさい。これは解決しましたが、${$r['option_name']} = $r['option_value']; とはどういう意味ですか?本当に理解できません



公平性を保つために、Code Farmer Valley のオンライン エディターを使用してデモを行っています

マニュアルの「変数」セクションを読んでください

「変数」セクション 1 を読んでくださいマニュアル祭り

大神様がまたピンチ! ! !



配列に変更可能な変数名を使用するには、あいまいさの問題を解決する必要があります。つまり、$$a[1] を記述する場合、パーサーは $a[1] を変数として扱うことを意味するのか、それとも $$a [1] がこの変数を参照することを意味するのかを理解する必要があります。索引。このあいまいさを解決するための構文は、最初のケースでは ${$a[1]} を使用し、2 番目のケースでは ${$a}[1] を使用します。
偉大な神々よ、ありがとう! ! !学んだ

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート