Php 编写了一个函数来缩短数组中的字符串。不';t在函数完成后更改值

Php 编写了一个函数来缩短数组中的字符串。不';t在函数完成后更改值,php,Php,我一直在寻找关于StackOverflow的答案,应用了不同的建议,但没有解决我的问题 我正在尝试编写一个函数,它接受一个数组,并将数组中的每个字符串缩短为3个字符。这是我写的代码: $days_of_week = array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"); function stringParse(array $string) { for($i = 0; $i

我一直在寻找关于StackOverflow的答案,应用了不同的建议,但没有解决我的问题

我正在尝试编写一个函数,它接受一个数组,并将数组中的每个字符串缩短为3个字符。这是我写的代码:

$days_of_week = array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");

function stringParse(array $string) {
    for($i = 0; $i < count($string); $i++) {
        $string = str_replace($string[$i], substr($string[$i],0,3), $string);
        echo $string[$i].'<br />';
    }
    return $string;
}

stringParse($days_of_week);
foreach($days_of_week as $stry) {echo $stry.'<br />';}
与:

但这也不起作用

我得到的结果是:

mon
tue
wed
thu
fri
sat
sun
monday
tuesday
wednesday
thursday
friday
saturday
sunday
这显然没有改变调用函数后的字符串值。对我做错了什么有什么建议吗

$days_of_week = stringParse($days_of_week);
您需要将返回值赋给变量:-)

此代码适用于我:

<?php
$days_of_week = array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");

function stringParse(array $string) {
    for($i = 0; $i < count($string); $i++) {
        $string = str_replace($string[$i], substr($string[$i],0,3), $string);
        echo $string[$i].'<br />';
    }
    return $string;
}

$days_of_week = stringParse($days_of_week);
foreach($days_of_week as $stry) {echo $stry.'<br />';}

您创建的函数返回一个数组,您必须将其分配给变量

$newarray = stringParse($days_of_week);
foreach($newarray as $stry) {echo $stry.'<br />';}
$newarray=stringParse($days\u/w);
foreach($newarray作为$stry){echo$stry.
;}
试试:


就这样!我没有意识到这一点。我会在7分钟内把你的答案标记为答案。
<?php
$days_of_week = array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");

function stringParse(array $string) {
    for($i = 0; $i < count($string); $i++) {
        $string = str_replace($string[$i], substr($string[$i],0,3), $string);
        echo $string[$i].'<br />';
    }
    return $string;
}

$days_of_week = stringParse($days_of_week);
foreach($days_of_week as $stry) {echo $stry.'<br />';}
$newarray = stringParse($days_of_week);
foreach($newarray as $stry) {echo $stry.'<br />';}
$days_of_week = array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");

$short_days_of_week = array_map(function($value) { return substr($value, 0, 3); }, $days_of_week);

var_dump($short_days_of_week);