Php 数组和字符串,交换

Php 数组和字符串,交换,php,arrays,string,Php,Arrays,String,我的代码: <?php $string = "hello world"; echo $string[1]; //output is 'e' echo end($string); // I've got a warning error ?> 只需执行以下操作: echo substr($string, -1); 因为字符串本身不是数组,所以像end和array\u sort这样的函数不起作用 要实际转换字符串,请使用以

我的代码:

<?php

    $string = "hello world";
    echo $string[1];          //output is 'e'
    echo end($string);        // I've got a warning error

  ?>
只需执行以下操作:

echo substr($string, -1);
因为字符串本身不是数组,所以像
end
array\u sort
这样的函数不起作用

要实际转换字符串,请使用以下命令:

function CastStringToArray($string)
{
    $ret = array();
    $length = strlen($string);
    for ($i = 0; $i < $length; $i++)
    {
        $ret[] = $string[$i];
    }
    return $ret;
}
函数CastStringToArray($string)
{
$ret=array();
$length=strlen($string);
对于($i=0;$i<$length;$i++)
{
$ret[]=$string[$i];
}
返回$ret;
}

$string[n]
是访问字符串第n个偏移量的特定符号。这并不意味着字符串是数组,它只是一种特殊的语法糖。如果需要字符串的最后一个偏移量,请使用
substr($string,-1)

有一个预定义的函数可以执行此操作。这是str_split()。在这里您可以找到文档

您想要解决的问题是什么?如您所知,如果您有这样一个数组$a=array(1,2,3,45,6,7);使用此预定义函数end();您可以访问并获取数组的最新元素。所以我发现在PHP中字符串可以作为数组,但这里的工作方式与数组不同。好的,但这仍然不能解释您要做什么。为什么要对字符串调用
end
?如果有效,调用
end
是否真的会返回空值?这不起作用,尤其是因为对字符串强制转换的数组将导致整个字符串都位于索引0处的数组。谢谢,但我不需要这些anwser。除此之外,没有其他方法。如果您想将字符串物理地强制转换为数组,那就另当别论了。我添加了一个函数,可以做到这一点。但是我会坚持使用
substr
,因为循环和添加到数组会降低性能。在PHP中,函数调用是一个巨大的性能杀手。我知道,我可以访问字符串的最后一个偏移量,但我想知道我可以将字符串交换到数组吗?你可以将字符串分解成数组。但是,如果你能在保持字符串的同时做同样的事情,那将是相当浪费和荒谬的。@wandad这应该是你真正需要的。谢谢你,你的答案非常有用。