我正在做一个关于如何使用逗号分隔的文本字符串并转换单个单词并以相同顺序返回单词的作业。
此代码执行此操作但由于某种原因它不会将其作为字符串返回,我不明白。
<?php
function bassAckwards($input)
{
// YOUR CODE HERE
$commas = substr_count($input, ",");
$NumWords = ($commas + 1);
$words = array($input);
for($x=0;$x<$NumWords;$x++)
{
$answer = array(strrev($words[$x]));
$answer = implode(",",$answer);
print $answer;
}
}
?>
答案 0 :(得分:4)
function bassAckwards($str){
$words = explode(',', $str);
$reversedWords = array_map('strrev', $words);
return implode(',', $reversedWords);
}
var_dump(bassAckwards('foo,bar,baz')); // string(11) "oof,rab,zab"
为自己省去一些麻烦并使用内置功能。</ p>
explode
array_map
&amp; strrev
strrev
对数组的每个元素执行array_map
(字符串反向),并返回[modified]数组。implode
答案 1 :(得分:0)
$reversedWords = array();
// Explode by commas
$words = explode(',', $input);
foreach ($word in $words) {
// For each word
// Stack it, reversed, in the new array $reversedWords
$reversedWords[] = strrev($word);
}
// Implode by commas
$output = implode(',', $reversedWords);
print $output;