【发布时间】:2017-04-15 10:40:22
【问题描述】:
所以我试图将数组的每个值转换为字符串。但我无法让它工作。 我最好的结果是从值中获取字母。
我有一个表单,我将复选框值发布到数据库中,稍后我想回显所选值:
<form method="POST">
<div class="form-group">
<label class="form-check-inline">
<input class="form-check-input" type="checkbox" name="genre[]" value="Rock"> Rock</label>
<label class="form-check-inline">
<input class="form-check-input" type="checkbox" name="genre[]" value="Funk"> Funk</label>
<label class="form-check-inline">
<input class="form-check-input" type="checkbox" name="genre[]" value=“Jazz”> Jazz</label>
</div>
</form>
if(isset($_POST['update_profile'])){
$genre = implode(',', $_POST['genre']);
$sql_update = "UPDATE user_profile SET genre = ‘$genre’ WHERE user_id = ‘$user_id’”;
…
}
在数据库行中,选定的值如下所示; “摇滚、放克、爵士”
很好。一切似乎都正常工作。 但我不知道如何分隔值..
if($result = mysqli_query($con, $sql_all_users)){
if(mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_row($result)){
$row_genre = array($row[1]);
foreach ($row_genre as $key => $value) {
echo $value[1];
}
}
}
}
当我执行 print_r ($row_genre); 我得到了这个结果:
Array ( [0] => Rock,Funk,Jazz)
这是一个什么样的数组?
我在 foreach 中回显的结果是 R(Rock 中的第一个字母 - 第一个值) 我试图内爆.. 没有什么不同。 那么如何将每个值转换为字符串呢?
【问题讨论】:
-
你有一个包含一个元素
[0]的数组,一个逗号分隔的列表。 -
将
$row_genre = array($row[1]);切换为$row_genre = explode(',',$row[1]);。然后只使用echo $value;