将数组转换为字符串

时间:2013-09-05 20:11:23

标签: php arrays string

我正在做一个关于如何使用逗号分隔的文本字符串并转换单个单词并以相同顺序返回单词的作业。

此代码执行此操作但由于某种原因它不会将其作为字符串返回,我不明白。

<?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;
    }
}  
?>

2 个答案:

答案 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
    make'foo,bar,baz'=&gt;阵列( '富', '酒吧', '巴兹')
  • array_map&amp; strrev
    使用strrev对数组的每个元素执行array_map(字符串反向),并返回[modified]数组。
  • implode
    将数组转换回csv。

答案 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;