スニペットでeval()を使うとエラーが出てしまいます  【解決済み】

質問全般・改善要望
返信する
Kenny
メンバー
メンバー
記事: 179
登録日時: 2011年5月28日(土) 13:41

スニペットでeval()を使うとエラーが出てしまいます  【解決済み】

投稿記事 by Kenny »

-----
ご利用のサーバ:heteml
MODXのバージョン: 1.0.12J-r1
PHPのバージョン:5.2.17
MySQLのバージョン:5.6.13-log
ブラウザ:firefox27.0
-----

お世話になります。

スニペットでeval()を使うとエラーが出てしまいます。

スニペットで以下のようなコードを書くと

<?php
$string = "1+2+3+4+5";
echo eval($string);
?>

エラーが以下のように出てしまいます。
Parse error: syntax error, unexpected $end in…

evalが原因だと思うのですが、この様な場合はどうすればよろしいでしょうか。


元々の思惑は、
"1+2+3+4+5"の部分をdittoで出力して演算させようとしておりました。

例えば以下のようにです。

[[ditto出力したものを足す? &allplus=`[[Ditto? $config=`search` &tpl=`チャンク` &parents=`id` &orderBy=`[[ソート]]` &filter=`[[フィルター]]` &depth=`3` &showPublishedOnly=`0`]]`]]

この様なやり方は無茶でしょうか。。
dittoで出力して演算させるというのは、以前からの目標で、いまだに悩んでおります。

よろしくお願いします。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: スニペットでeval()を使うとエラーが出てしまいます

投稿記事 by yama »

echo eval('?>'.$string);
このように書くとどうでしょう?
Kenny
メンバー
メンバー
記事: 179
登録日時: 2011年5月28日(土) 13:41

Re: スニペットでeval()を使うとエラーが出てしまいます

投稿記事 by Kenny »

yama様

いつもありがとうございます!
evalの使い方を根本的に間違えていたようです。

うまくいきました。

重ね重ねありがとうございました!
返信する