【问题标题】:Adding a string to a row at a JSON array [closed]将字符串添加到 JSON 数组中的行 [关闭]
【发布时间】:2014-05-31 16:31:36
【问题描述】:

我正在使用 PHP 来获取一个 JSON 数组以供 Android 应用程序检索。

其中一个字段名为strImagen,此字段存储文件名。

我需要将 URL 路径添加到文件名,作为要进行 JSON 编码的行的一部分。

例子:

如果

$row['strImagen'] = '123456789.png'

应该是

htttp://myserverURL/images/123456789.png

这是我创建 JSON 数组的代码的 PHP 部分:

// query the application data
$sql = "SELECT * FROM tbempresas";
$result = mysqli_query($con, $sql);

// an array to save the application data
$rows = array();

// iterate to query result and add every rows into array
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $rows[] = $row; 
}

// close the database connection
mysqli_close($con);

// echo the application data in json format
echo json_encode($rows);

我需要你的帮助...谢谢

【问题讨论】:

  • 那么你有没有尝试过这样做?毕竟你只是在谈论基本的字符串连接。
  • @MikeBrant,谢谢,但我认为这比基本的字符串连接更复杂,至少对我来说是 PHP 级别,我相信你是专家,但我不是。无论如何谢谢你。
  • @msvasco 并不比基本的字符串连接复杂。请参阅下面 AbraCadaver 的答案。

标签: php mysql arrays json


【解决方案1】:

您可以为此使用array_walk。在while 循环结束后添加以下代码。

array_walk($row,function (&$v){ $v['strImagen']='http://myserverURL/images/'.$v['strImagen'];});

【讨论】:

  • 谢谢你,我会试试你的建议。
  • 它可以工作,但是我得到了直接在浏览器上执行 PHP 的奇怪字符,我想它在应用程序中看起来会很好。再次感谢您。
  • 如果没有,请告诉我们,我们很乐意关注这个问题;)
  • 我相信在应用程序上会很好,如果不是我会告诉你。谢谢。
  • 它有效,感谢您的时间、精力和耐心。
【解决方案2】:

只需在循环中执行:

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $row['strImagen'] = "htttp://myserverURL/images/{$row['strImagen']}";
    $rows[] = $row;
}

【讨论】:

  • 谢谢,我会试试你的建议。
  • 您的提议不起作用,无论有没有您的代码行,JSON 输出都是一样的。
  • 可能是浏览器的问题,别担心,我猜你说的没问题。谢谢
  • 它有效,感谢您的时间和精力。
猜你喜欢
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
相关资源
最近更新 更多