<?php
$content = "my content";
$parts = array("Part 1 :", "Part 2 :", "Part 3 :","Part 4 :", "Part 5 :");
$name_list = array("Part 1 :\n", "Part 2 :\n", "Part 3 :\n","Part 4 :\n", "Part 5 :");
$email_body = "Product:\n" .str_replace($parts, $name_list, $content);
?>
如何获得与第一个脚本相同的结果,但我想从数据库导入第二个数组 $name_list
。
我执行了下面的脚本,但它不起作用。
<?php
$query = "SELECT * FROM my_table WHERE id LIKE '%$id%'";
$search = mysql_query($query ) or die(mysql_error());
$name_list = array();
while ($row = mysql_fetch_array($search)) {
$name_list[] = $row['name'] . ":\n,";
}
$name_list = explode(", ", $name_list);
?>
最佳答案
删除这行$name_list =explode(",",$name_list);
,因为$name_list
已经在数组中,你可以使用explode将字符串转换为数组,例如...
<?php
$name_list = "Part 1 :\n, Part 2 :\n, Part 3 :\n, Part 4 :\n, Part 5 :";
$name_list = explode(",", $name_list);
print_r($name_list);
?>
输出
Array
(
[0] => Part 1 :
[1] => Part 2 :
[2] => Part 3 :
[3] => Part 4 :
[4] => Part 5 :
)
所以尝试下面的代码
<?php
$query = "SELECT * FROM my_table WHERE id LIKE '%$id%'";
$search = mysql_query($query ) or die(mysql_error());
$name_list = array();
while ($row = mysql_fetch_array($search)) {
$name_list[] = $row['name'].":\n,";
}
$parts = array("Part 1 :", "Part 2 :", "Part 3 :","Part 4 :", "Part 5 :");
$email_body = "Product:\n" .str_replace($parts, $name_list, $content);
?>
关于php - 从数据库sql转换为数组php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41671479/