-3

我总是注意到 json_encode 方法将数组作为参数。我的问题是我们可以使用字符串而不是数组作为方法的参数吗

json_encode($array);

更新

您好,请检查以下代码。我将字符串转换为 jason

 $jason = '<h3 style="font-size:15px;">';
    foreach($employee as $key=> $value){
        $jason .= '<table><tbody>';
        $jason .= '<tr><td style="width:400px;padding:5px;padding:10px;"></td><td style="width:300px;padding:5px;"><img style="width:132px; height:175px;" src="'.$image_folder.$value->prfil_img .'" /></td></tr>';
    //$retval .= '<a href="'. $store_url . 'product_info.php?products_id=' . $product_id . '"><img src="' . $image_folder . $product_image . '" /></a><br />';

         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Name:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->first_name.'&nbsp;&nbsp;'.$value->last_name.'</td></tr>';
         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Email:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->email;'</td></tr>';
         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Tel Ext:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->extension;'</td></tr>';
         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Account:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->account;'</td></tr>';
         $jason .= '</table></tbody>';
        // echo '</br>';echo '</br>';

   }
        $jason .= '</h3>';

   echo json_encode($jason);

但后来我得到了关注

在此处输入图像描述

但如果我不使用 jason 编码,我会清楚地得到结果。(没有破坏 html 元素的语法)。所以有人对此有任何想法吗?我在哪里做错了?

当我在 wordpress 中使用 ajax 时,我需要使用 jason 编码的数据。

请注意,当我将 jason 编码应用于关注时,我会得到关注

$jason = '<tr><td style="width:90%;font-size:14px;">';
$jason .= 'val 2';
echo json_encode($jason) ;

输出是“val 2” 因此,我认为是 jason 格式的数据。

4

5 回答 5

3

是的你可以

形成http://php.net/manual/en/function.json-encode.php

“被编码的值。可以是除资源之外的任何类型。”

于 2013-07-15T16:43:09.907 回答
3

是的你可以。文档显示可以mixed value用作输入。

于 2013-07-15T16:43:28.343 回答
3

如果您在 PHP 手册中注明json_encode()

笔记:

与参考 JSON 编码器一样,如果将字符串、整数、浮点数或布尔值作为输入值,json_encode() 将生成简单值的 JSON(即,既不是对象也不是数组)。虽然大多数解码器会接受这些值作为有效的 JSON,但有些可能不会,因为规范在这一点上是模棱两可的。

因此,您可以传递一个字符串值,它会对其进行编码,只是不要期望该值能够被普遍解码。根据您的使用情况,最好将其放在数组包装器中。

此外,此函数不仅采用数组,它还将正确编码对象(或其他简单值,如所述)。

于 2013-07-15T16:44:27.800 回答
2

好吧,它说mixed,我很确定字符串也可以正常工作。

看!确实如此!

于 2013-07-15T16:43:20.900 回答
1

是的

  $a = '"Hello World"';

  echo json_encode ($a);

  // outputs "\"Hello World\""   with the quotes

请注意,这将使用字符串正确转义字符,因此您可以说

  <script>
      var a = <?php echo json_encode($a); ?>;
  </script>

无需担心自己进行转义。

于 2013-07-15T16:46:07.747 回答