Не работает функция php?
Если по простому, то у вас заканчивается цикл, и в else условие никогда не попадет.
Тут можно добавить еще один  return count($arrStr), после цикла$sentence = 'jabjcdel';
$j = 0; // Работает
//$j = 1; // Работает 

function longStr(string $str, int $j){
    $len = strlen($str);
    $arrStr = [];
    while ($j < $len) {
        if(!in_array($str[$j], $arrStr)){
            $arrStr[] = $str[$j];
            $j++;
        } else {
             return count($arrStr);
        }  
    }
    return count($arrStr);
}


$a = longStr($sentence, $j);
var_dump($a);
Это происходит потому что, если ты задаешь значение для $j = 1, то условие внутри if никогда не будет true, добавь еще один return в конец.function longStr(string $str, int $j){
    $arrStr = [];
    while ($j < strlen($str)) {
        if(! in_array($str[$j], $arrStr, true)){
            $arrStr[] = $str[$j];
            $j++;
        } else {
            return count($arrStr);
        }
    }
    return count($arrStr);
}