繁体   English   中英

如何在PHP中将零索引逗号分隔的值分解为单个字符串

[英]How to break zero index comma separated value into individual string in php

我想打破从数据库中检索到的逗号分隔值,然后将每个人都放在一个字符串中,然后仅在for循环中打印它。 我从数据库中获取值,但是我无法破坏值。 下面是我到目前为止所做的代码。请帮助解决我的问题。 提前致谢。

$query="select * from create_segment";
$result = mysql_query($query,$link) or die(mysql_error());
$number_of_segment=mysql_num_rows($result);
while($row=mysql_fetch_assoc($result))
{
    $segments[]=$row;
}

foreach($segments as $success) {
 $thePostIdArray = explode(', ', $success['subjects']);
 for($i=0; $i < count($thePostIdArray); $i++)
  {
     echo "string...".$strings=$thePostIdArray[$i];  
  }
} 

输出:

string...1,2,3,4,5,6,7,8,9,10
string...1,2,3,4,5,6,7,8

但我想要这样的事情:

for(......)
{
echo "values...".$i;
}

应该输出

values...1
values...2
values...3 and so on.

我的数据库结构是这样的:

id    subjects

1     1,2,3,4,5
2     1,2,7

请尝试在您的计算机中使用','而不是', '

explode(', ', $success['subjects']);

语句,因此它看起来像:

explode(',', $success['subjects']);

采用:

explode(',', $success['subjects'])

逗号后有一个空格,但是数据库值中没有空格。

如果您有机会更改数据库结构,则应将该表转换为如下形式:

Id   Subject
1    1
1    2
1    3
2    1
etc.

这将使您的查询更加容易,并且是正确的方法。 这也将使您日后更轻松地将此表与其他表联接以获得所需的结果。 我知道这不能回答您的问题,但是一些好的建议永远不会伤害您。 其他答案之一将直接回答您的问题。

$query="select * from create_segment";
$result = mysql_query($query,$link) or die(mysql_error());
$number_of_segment=mysql_num_rows($result);

while($row = mysql_fetch_assoc($result))
{
    foreach (explode(',',$row['subjects']) as $value){
       echo echo "string... {$row['id']} " .  $value . '<br />';
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM