在PHP中将字符前置到项目数组
我试着用一根绳子,像在PHP中将字符前置到项目数组,php,Php,我试着用一根绳子,像 php、mysql、css 把它变成#php#mysql#css 到目前为止我所拥有的。。。 $hashTagStr = "php,mysql,css"; $hashTags = explode(",", $hashTagStr); foreach($hashTags as $k => $v){ $hashTagsStr = ''; $hashTagsStr .= '#'.$v.' '; } echo $hashTagsStr; ?> 问
php、mysql、css
把它变成<代码>#php#mysql#css
到目前为止我所拥有的。。。
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
foreach($hashTags as $k => $v){
$hashTagsStr = '';
$hashTagsStr .= '#'.$v.' ';
}
echo $hashTagsStr;
?>
问题是它只打印
#css
通过引用传递您的值:
$hashTags = array("php","mysql","css");
foreach ( $hashTags as &$v ) $v = "#" . $v;
然后敲出结果:
// #php #mysql #css
echo implode( " ", $hashTags );
演示:
让我们检查一下您正在做什么:
// You start with a string, all good.
$hashTagStr = "php,mysql,css";
// Blow it apart into an array - awesome!
$hashTags = explode( "," , $hashTagStr );
// Yeah, let's cycle this badboy!
foreach($hashTags as $k => $v) {
// Iteration 1: Yeah, empty strings!
// Iteration 2: Yeah, empty...wait, OMG!
$hashTagsStr = '';
// Concat onto an empty var
$hashTagsStr .= '#'.$v.' ';
}
// Show our final output
echo $hashTagsStr;
通过引用传递您的值:
$hashTags = array("php","mysql","css");
foreach ( $hashTags as &$v ) $v = "#" . $v;
然后敲出结果:
// #php #mysql #css
echo implode( " ", $hashTags );
演示:
让我们检查一下您正在做什么:
// You start with a string, all good.
$hashTagStr = "php,mysql,css";
// Blow it apart into an array - awesome!
$hashTags = explode( "," , $hashTagStr );
// Yeah, let's cycle this badboy!
foreach($hashTags as $k => $v) {
// Iteration 1: Yeah, empty strings!
// Iteration 2: Yeah, empty...wait, OMG!
$hashTagsStr = '';
// Concat onto an empty var
$hashTagsStr .= '#'.$v.' ';
}
// Show our final output
echo $hashTagsStr;
您应该将
$hashTagsStr='
行移到foreach循环外,否则每次都会重置它您应该将$hashTagsStr='
行移到foreach循环外,否则每次都会重置它,这是因为每次循环运行时,您都通过执行以下操作来清除$hashTagsStr:
$hashTagsStr = '';
将其更改为:
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
$hashTagsStr = '';
foreach($hashTags as $k => $v){
$hashTagsStr .= '#'.$v.' ';
}
echo $hashTagsStr;
这是因为每次循环运行时,您都通过执行以下操作清除$hashTagsStr:
$hashTagsStr = '';
将其更改为:
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
$hashTagsStr = '';
foreach($hashTags as $k => $v){
$hashTagsStr .= '#'.$v.' ';
}
echo $hashTagsStr;
这个怎么样:
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
$hashTagStr = '#' . implode( ' #', $hashTags );
…或:
$hashTagStr = "php,mysql,css";
$hashTagStr = '#' . str_replace( ',', ' #', $hashTagStr );
这个怎么样:
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
$hashTagStr = '#' . implode( ' #', $hashTags );
…或:
$hashTagStr = "php,mysql,css";
$hashTagStr = '#' . str_replace( ',', ' #', $hashTagStr );
看起来像是
array\u walk
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
array_walk($hashTags, function(&$value){ $value = "#" . $value ;} );
var_dump(implode(" ", $hashTags));
输出
string '#php #mysql #css' (length=16)
看起来像是
array\u walk
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
array_walk($hashTags, function(&$value){ $value = "#" . $value ;} );
var_dump(implode(" ", $hashTags));
输出
string '#php #mysql #css' (length=16)
您正在循环内定义变量
$hashTagsStr
<?php
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
$hashTagsStr = '';
foreach($hashTags as $k => $v){
$hashTagsStr .= '#'.$v.' ';
}
echo $hashTagsStr;
您正在循环内定义变量$hashTagsStr
<?php
$hashTagStr = "php,mysql,css";
$hashTags = explode(",", $hashTagStr);
$hashTagsStr = '';
foreach($hashTags as $k => $v){
$hashTagsStr .= '#'.$v.' ';
}
echo $hashTagsStr;
在循环的每次迭代中,您都在执行$hashTagsStr=''代码>。这是将变量设置为'
,然后附加当前标记。因此,完成后,$hashTagsStr
将只包含最后一个标记
此外,循环在这里似乎工作量太大,只需将,
替换为#
,就可以轻松得多。不需要把它分解成一个数组,也不需要循环。试试这个:
$hashTagStr = "php,mysql,css";
$hashTagStr = '#'.str_replace(',', ' #', $hashTagStr);
在循环的每次迭代中,您都在执行$hashTagsStr=''代码>。这是将变量设置为'
,然后附加当前标记。因此,完成后,$hashTagsStr
将只包含最后一个标记
此外,循环在这里似乎工作量太大,只需将,
替换为#
,就可以轻松得多。不需要把它分解成一个数组,也不需要循环。试试这个:
$hashTagStr = "php,mysql,css";
$hashTagStr = '#'.str_replace(',', ' #', $hashTagStr);
字符串中的语义是一个数组。➪ 所以最好尽快爆炸,并尽可能长时间地继续使用您的阵列
如图所示,您可以在PHP5.4+中工作
字符串中的语义是一个数组。➪ 所以最好尽快爆炸,并尽可能长时间地继续使用您的阵列
正如在PHP5.4+中所显示的那样。Ooo,我还想回答这个问题:-)。您还可以使用array\u map
<代码>$hashTags=array_-map(函数($a){return“#$a”},$hashTags)代码>:-POoo,我也想回答这个问题:-)。你也可以使用array\u map
<代码>$hashTags=array_-map(函数($a){return“#$a”},$hashTags)代码>:-P