如何在PHP中将字符串拆分/分解为带编号的列表?
我正在尝试将此字符串拆分为带编号的列表 str选项是“你好,你好,你好” 我需要输出为如何在PHP中将字符串拆分/分解为带编号的列表?,php,explode,implode,preg-split,Php,Explode,Implode,Preg Split,我正在尝试将此字符串拆分为带编号的列表 str选项是“你好,你好,你好” 我需要输出为 你好 你好 你好 这是我的密码 $newstr = 'My values are' . explode(",", $str["options"]) . '<br/>'; $newstr='My values are'。分解(“,”,$str[“选项])。'; 但是,这会导致仅打印单词数组。请帮助我:((a)explode()用逗号将字符串作为数组 b)
$newstr = 'My values are' . explode(",", $str["options"]) . '<br/>';
$newstr='My values are'。分解(“,”,$str[“选项])。'
;
但是,这会导致仅打印单词数组。请帮助我:((a)explode()
用逗号将字符串作为数组
b) 迭代并连接数字和文本
c) 将所有这些连接的值保存为一个字符串
d) echo
此字符串在末尾
<?php
$str["options"] = "Hello,Howdy,Hola";
$data = explode(",", $str["options"]);
$newstr = 'My values are'. PHP_EOL;
foreach($data as $key => $value){
$number = $key+1;
$newstr .= "$number.". $value . PHP_EOL;
}
echo $newstr;
试试这个,它会在html列表标签中打印出来
<ol>
<?php
$option = '';
$newstr = explode(",", $str["options"]) ;
foreach($newstr as $option) {
$option = trim($option); ?>
<li><?php echo $option; ?></li>
<?php } ?>
</ol>
首先,您需要创建数组。这将创建一个索引数组,从0到2开始索引。接下来,您将需要以某种方式对其进行修改。其他答案更明确,并使用foreach
,因此此答案提供了另一种选择,您可以通过将数组转换为所需的格式。传递给数组映射
的函数
是一个所谓的回调,一个函数
,由数组映射
为每个元素执行,在这种情况下,它知道每个元素的键和值。现在,我们对输入进行内爆,为了确保我们有一些键,我们传递结果
$input=explode(“,”,“你好,你好,你好”;
$output=内爆(“
”,数组映射(
函数($v,$k){
回报($k+1)。'.$v;
},
$input,
数组_键($input)
));
不能输出带有echo的数组,也不能在字符串连接上下文中使用它。写一个循环遍历各个数组元素,并将它们逐个附加到字符串中,或者使用内爆
将数组再次转换为字符串,并在各个元素之间附加任何需要的内容。就像gem一样工作!非常感谢你!谢谢你的回答。你解释得很好,让我更容易理解。但是,$output IMPODE出现语法错误,提示意外的标识符“IMPODE”…我无法传递此代码。。有什么想法吗?@user6345655谢谢你指出这一点。这确实是我的代码中的一个输入错误,显然我没有将=
字符置于$output和infrade之间。编辑了我的答案,我也试过了。然而,它只是打印出数字1。其余的都是空的(
$input = explode(",", "Hello,Howdy,Hola");
$output = implode('<br>', array_map(
function ($v, $k) {
return ($k + 1).'. '.$v;
},
$input,
array_keys($input)
));