相反返回字符串的函数

时间:2018-02-05 21:00:43

标签: php html css

我必须做一个函数,它返回一个与另一个变量相反的字符串。我有一个问题。

<?php 
$parolaAlContrario=""; 
function ribaltaStringa($nome){ 
    $lenght=strlen($nome); 
    for($i=0;$i<$lenght+4;$i++){ 
        $parolaAlContrario[$i]=$nome[$lenght-1]; 
        $lenght=$lenght-1; 
    } 
    echo implode($parolaAlContrario); 
} 
ribaltaStringa("marco"); ?>

此代码返回&#39; ocram&#39;。我不明白为什么如果我将implode($parolaAlContrario)放在函数之外,结果是变量$parolaAlContrario为空。为什么呢?

2 个答案:

答案 0 :(得分:1)

这是因为您的变量的scope在您的函数之外。您需要将变量分配给函数的结果。

你应该让你的函数返回变量,并在完成时分配它。

function ribaltaStringa($nome)
{
    $lenght = strlen($nome);
    $parolaAlContrario = array();
    for($i = 0; $i < $lenght + 4; $i++) {
        $parolaAlContrario[$i] = $nome[$lenght - 1];
        $lenght = $lenght - 1;
    }
    return implode($parolaAlContrario);
}

注意,我不是回显变量,而是返回变量。这允许我们在函数完成后将结果分配给变量。

我还在循环外部的函数内部定义了变量$parolaAlContrario,这将允许您返回值。

当您调用该函数时,您应该再次分配该变量。

$parolaAlContrario = ribaltaStringa("marco");

同样,您可以通过在声明期间更改变量的名称来创建一个全新的变量单词。 E.G:

$newVariable = ribaltaStringa("marco");

答案 1 :(得分:1)

如果你能让它变得复杂,为什么要简单?你不需要为此编写自己的函数。只需使用PHP的内置函数strrev()即可反转字符串,如果需要,可以将其保存为新变量:

$parolaAlContrario = strrev('marco');

尝试一下: https://3v4l.org/RmdE1