Php 将数据库中带有空格的数据插入数组

Php 将数据库中带有空格的数据插入数组,php,mysql,Php,Mysql,是否可以将这种数据从数据库插入到数组中 Mouse Keyboard //Saved from a Textarea box Monitor 整张桌子看起来像这样 id || Owner || Items -------------------------- 1 || John || Mouse || || Keyboard //This is in a single row || || Monitor ------

是否可以将这种数据从数据库插入到数组中

Mouse
Keyboard  //Saved from a Textarea box 
Monitor
整张桌子看起来像这样

id  ||   Owner  ||  Items
--------------------------
1   ||   John   || Mouse
    ||          || Keyboard //This is in a single row
    ||          || Monitor
--------------------------
如何将字段项中的每行数据分配到数组中,比如$Items

这样它就会像:

  $items[0] = "Mouse";
  $items[1] = "Keyboard";
  $items[2] = "Monitor";
你可以用

或者您可以使用

还是像这样的

$arr = explode("\n",$data);   // split into lines
$categories = explode("||",$arr[0]);
unset($arr[0]); array_values($arr[0]);  // dont want categories anymore
array_walk($categories,create_function('&$v','$v = trim($v);'));   // trim space from categories
$data = array();   // holds info
foreach((array)$arr as $key=>$val) {
   if (substr($val,0,5)=="-----") { continue; }   // ignore "-----..." lines
   $row = explode("||",$val);
   foreach((array)$row as $key2=>$val2) {
      $data[ $categories[$key2] ][] = trim($val2);
   }
}

echo "<pre>";
print_r($data);
echo "</pre>";
像这样的

$arr = explode("\n",$data);   // split into lines
$categories = explode("||",$arr[0]);
unset($arr[0]); array_values($arr[0]);  // dont want categories anymore
array_walk($categories,create_function('&$v','$v = trim($v);'));   // trim space from categories
$data = array();   // holds info
foreach((array)$arr as $key=>$val) {
   if (substr($val,0,5)=="-----") { continue; }   // ignore "-----..." lines
   $row = explode("||",$val);
   foreach((array)$row as $key2=>$val2) {
      $data[ $categories[$key2] ][] = trim($val2);
   }
}

echo "<pre>";
print_r($data);
echo "</pre>";
尝试:

尝试:


如果我正确阅读了最后一行,您需要:


如果我正确阅读了最后一行,您需要:


对不起,我想你误解了我的问题。@HafizAbdullah-我想我们都误解了你的问题。您希望最终的PHP数组是什么样子?对不起,我想您误解了我的问题。@HafizAbdullah-我想我们都误解了您的问题。您希望最终的PHP数组是什么样子的?谢谢您的回答,但是为什么要在代码中包含这些行呢?我向您展示的表是mysql数据库中的表。这与我的问题无关。如果您误解了,很抱歉。谢谢您的回答,但为什么要在代码中包含这些行?我向您展示的表是mysql数据库中的表。这与我的问题无关。如果你误解了,很抱歉。那么你想让它看起来好像John是鼠标、键盘和显示器的所有者,或者他们的键盘和鼠标没有所有者?或者只是有一张物品清单?这三件物品都是约翰的,但没关系。我已经有答案了。感谢VishalSo,你想让它看起来好像John是鼠标、键盘和显示器的所有者,或者他们的键盘和鼠标没有所有者?或者只是有一张物品清单?这三件物品都是约翰的,但没关系。我已经有答案了。多亏了Vishali,如果您希望将整个表作为一个数组,则需要规范化数据以清除每个项的所有权和id。如果您希望将整个表作为一个数组,则需要规范化数据以清除每个项的所有权和id。
$items = explode("\n", $string_from_db);
  $results = $db -> query("SELECT Items FROM table");

  while($row = $results -> fetch_assoc()) {
        $items[] = $row['Items'];
  }