PHP json_encode编码一个函数

bri*_*ian 6 javascript php json javascript-events

如何在PHP中编码javascript函数?我想用数组编码回调函数

$options = array(
'title' => 'Title',
'fnCallback' => someCallback);
Run Code Online (Sandbox Code Playgroud)

等效的ini javascript

var options = {
'title': 'Title',
'fnCallback': someCallback };
Run Code Online (Sandbox Code Playgroud)

我知道我的PHP代码是错误的,我怎么能修复它?谢谢你的进步.

bri*_*ian 7

Viola我用Zend_JSON编码器解决了我的问题

 $options = array(
     'title' => 'Title',
     'fnCallback' => new Zend_Json_Expr('someCallback')
 );      

 Zend_Json::encode(
     $options,
     false,
     array('enableJsonExprFinder' => true));
Run Code Online (Sandbox Code Playgroud)

  • 很高兴看到 ZF 的一些实际使用 ;-)。我通过在 php 数组中添加 'data'=>'@aCallBack()@' 并在 json_encode 之后输出之前变得丑陋而优雅,做了 str_replace('"@','') 和 ('@"','') . PHP4ever。 (2认同)

Tha*_*hai 5

JSON用于传递值,它们不适合传递代码片段.

相反,您可以传递函数名称或其他有意义的值,并检索正确的函数以在JavaScript端调用它.