从数据库值创建数组时排除错误

时间:2012-01-26 22:04:36

标签: php

有人能看到我对这个php数组做错了吗?我试图创建一个动态数组但不知何故它无法正常工作并在尝试从浏览器访问时遇到服务器内部错误

$index = 0;
$columnIndex = 0

while($row = mysqli_fetch_array($result, MYSQL_NUM))
{
  $test = array();
  $test[$arrayIndex] = $row[$columnIndex];
  $coumnIndex = 1;

  if(is_string($row[$number]))
  { 
    preg_match("/(?:\d+\.)?(?:\s*)?$stop?(?:\s*)?(.*):(.*)",{$row[$columnIndex]},$match1);     
    $test[$index] = '<p> <strong> . $match1[1] . </strong> . $match1[2] . </p>';
  }      

  ++$arrayIndex; 
  ++$columnIndex;   
}

$jsonData = json_encode($test);
echo $jsonData;

2 个答案:

答案 0 :(得分:0)

您最有可能收到错误,因为当我看不到$test[$arrayIndex] = $row[$columnIndex];时,您正在执行$arrayIndex(因此它为空)。您不能设置空数组索引。

如果你想在PHP中使用一个简单的动态数组,你可以这样做:

$test = array();
while(/* however you want to define your loop */) {
    $test[] = /* something */;
}

你最终会得到一个数组$test,其中包含你在每行/* something */放置的内容。请查看PHP Arrays页面上标题为“使用方括号语法创建/修改”的部分。

答案 1 :(得分:0)

你有一个错字:

 $coumnIndex = 1; 

应为columnIndex

在尝试连接$text[$index]行上的变量之前,您也忽略了关闭引号。