php Web服务中的字符串不支持[]运算符

时间:2018-04-20 13:16:01

标签: php

这与其他欺骗行为并不完全相同!

我有一个Web服务,它根据传入的令牌来抓取数据

$query = "SELECT * FROM Journey WHERE Token='{$token}';";
$result = mysql_query($query,$link) or die('Errant query:  '.$query);
$posts = array();
$dto = new Journey();
$dta = new Dta();
if(mysql_num_rows($result) > 0) {
  while($post = mysql_fetch_assoc($result)) {
    $posts[] = $post;
    $posts = array_shift($posts);

当我运行服务并传入有效令牌时,我在$posts[] = $post

处收到致命错误

从我所看到的(并已阅读),这看起来是正确的方法(事实上,我在其他网络服务中有它,它在那里工作)

使用PHP 5.6.3

1 个答案:

答案 0 :(得分:5)

$posts = array_shift($posts);中,用第一个元素(字符串)覆盖数组$posts,因此在下一个循环周期$posts[] = $post;发出错误。