首页 > 解决方案 > 为什么for循环后的mycode没有执行?

问题描述

请检查我的代码。我有一些程序可以返回给定数组中的第三大单词。如果第三大单词中的字母长度相同,则重新运行最后一个。

例如['world', 'hello', 'before', 'all', 'dr']输出应该是'hello'.

我的程序运行良好,但是当我想要echo的时候$result,代码不会执行。

这是我的代码:

<?php
$array = ['world', 'hello', 'before', 'all', 'dr'];

$array2 = [];
foreach ($array as $value) {
    $array2[$value] = strlen($value);
}
asort($array2);
$slice = array_slice($array2, -3);

$array3 = [];
foreach ($slice as $key => $value) {
    $array3[] = $key;
}

$result = "THIS RESULT SHOULD BE RE ASSIGNED, BUT WHY !!!!!";
for ($i = count($array3) - 1; $i >= 0; $i--) {
    if ($i == 0) {
        $result = $array3[$i];
        return $result;
    }
    if (strlen($array3[$i]) == strlen($array3[$i - 1])) {
        $result = $array3[$i];
        return $result;
    }
}
echo "THIS LINE IS NOT WORKING";
echo $result;

标签: php

解决方案


删除return.It 返回的值,因此它之后的任何代码都不会被执行。


推荐阅读