$xml =simplexml_load_string($$xmlstr, "SimpleXMLIterator" );
これでxml文章を読み込んでいます。
$asin = $xml->Items->Item[0]->ASIN;
こうすると、xmlから読み取ったデータを変数$asinに入れてくれます。
具体的には24152365のようになります。
ここからが質問なのですが、
$asin_2 ='$xml->Items->Item[1]->ASIN';
このように文字列として$asin_2に入れます。
$asin_2内に入った文字列を命令として実行するにはどうすればいいのでしょうか?
先ほど締め切られたので、回答できませんでしたが、
再開されたということは、もうちょっと、具体的な回答を望んでいるということだと思いますので、具体的に書いてみます。
evalの引数として渡す文字列は、PHPの命令文として完成していなければなりません。
だから、'$tmp = 'と最後の';'を付け加えて渡します。
eval( '$tmp = '.$asin_2.';' );
これで、$tmpに、24152365が入ります。
※$tmpを$asin_2とすれば、$asin_2に直接24152365が入ると思います。
ありがとうございます!早速使わせて頂きました。
先ほど締め切られたので、回答できませんでしたが、
再開されたということは、もうちょっと、具体的な回答を望んでいるということだと思いますので、具体的に書いてみます。
evalの引数として渡す文字列は、PHPの命令文として完成していなければなりません。
だから、'$tmp = 'と最後の';'を付け加えて渡します。
eval( '$tmp = '.$asin_2.';' );
これで、$tmpに、24152365が入ります。
※$tmpを$asin_2とすれば、$asin_2に直接24152365が入ると思います。
本来ならば文字列として格納しない方がスマートにできると思うんですが、なかなか上手く書けないんですね。
しかもevalを使うと負荷がかかるようで、500エラーが頻発してしまいます。
forを使って質問文のItem[0]の数字部分だけを一つづつ増やして、さらにXML内にそのようなデータがあるか判断しながら・・という作業をしていますが、simpleXMLとforが絡まってちょっと参ってます。
http://q.hatena.ne.jp/1174488194
こちらを参考に、なるべくevalを使わないでもっとスマートに書けるようにチャレンジしてみます。
いつもありがとうございます!
追記:
確かに一度締め切ってしまいましたが、もしかして回答を書き込む途中の方がいらっしゃたら失礼かなと思い再開しました。ご迷惑おかけしました。
本来ならば文字列として格納しない方がスマートにできると思うんですが、なかなか上手く書けないんですね。
しかもevalを使うと負荷がかかるようで、500エラーが頻発してしまいます。
forを使って質問文のItem[0]の数字部分だけを一つづつ増やして、さらにXML内にそのようなデータがあるか判断しながら・・という作業をしていますが、simpleXMLとforが絡まってちょっと参ってます。
http://q.hatena.ne.jp/1174488194
こちらを参考に、なるべくevalを使わないでもっとスマートに書けるようにチャレンジしてみます。
いつもありがとうございます!
追記:
確かに一度締め切ってしまいましたが、もしかして回答を書き込む途中の方がいらっしゃたら失礼かなと思い再開しました。ご迷惑おかけしました。