【问题标题】:How to ECHO string inside the array?如何在数组内回显字符串?
【发布时间】:2012-12-18 13:37:09
【问题描述】:

这是我使用循环将数据加载到数组中的代码: 我想用文字回显数据,但我收到一个错误“注意:数组到字符串的转换...”

for ($i = 0 ; $i < 4 ; $i++)  { 
    $options[] = $row3= mysqli_fetch_array($result3);                
}
echo $options[0];

【问题讨论】:

  • 它是数组而不是字符串检查它:var_dump($options[0]);
  • 为什么需要额外的 $row3 变量?相反,你应该使用$options[] = mysqli_fetch_array($result3);,如果你想输出第一条记录的第一行值,它应该是echo $options[0][0];
  • 这是我得到的 :array(4) { [0]=> string(1) "1" ["idoptions"]=> string(1) "1" [1]=> string(16) "image/image2.jpg" ["options"]=> string(16) "image/image2.jpg" }
  • 看来你在这个问题上走了很长一段路,你能发布你的 sql 查询吗?

标签: php arrays for-loop echo


【解决方案1】:

一切都是这样的:

$options[] = $row3= mysqli_fetch_array($result3);                

mysqli_fetch_array($result3) 返回一个数组。所以 $row3 是一个数组,而 $options[] 是一个数组。因此,当您打印 $options[0] 时,您正在打印一个数组。

用户print_r($options[0]); 打印完整的数组。

你也可以使用:

echo $options[0]['idoptions'], $options[0]['options'];

【讨论】:

    【解决方案2】:

    mysqli_fetch_array 返回一个数组,所以$row3$options[n] 是数组,因此“注意:数组到字符串的转换...”

    $options[0][0] 将是结果集中第一行的第一个元素,

    【讨论】:

      【解决方案3】:

      随便写

      for ($i = 0 ; $i < 4 ; $i++)  { 
          $options[i] = $row3= mysqli_fetch_array($result3);   
         }
      print_r($options)
      

      【讨论】:

        【解决方案4】:

        mysqli_result_array():

        如果结果集中没有更多行,则返回与获取的行对应的字符串数组或NULL

        $options 数组的每个索引都包含一个数组。所以如果要echo这个数组的某个特定索引,那么先拿print_r($options);$options的每个索引的子索引。

        【讨论】:

          猜你喜欢
          • 2015-07-02
          • 1970-01-01
          • 2011-07-27
          • 1970-01-01
          • 2015-02-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多