Как вернуть несколько значений в PHP? - PullRequest
0 голосов
/ 05 марта 2020

КОД ошибки ниже:

$ejString = (str_replace(' ', '', file_get_contents('ej.txt')));
$find_tr = strpos($ejString, 'JUMLAHRP');

function find_nilai ($ejString, $find_tr){
    while ( $find_tr != false) {
        $find_tr = strpos($find_tr, 'JUMLAHRP');
        $ejString = substr($ejString, $find_tr +8);
        echo get_string_between($ejString, $start, $end);
    }
    return $find_tr;
    return $ejString;
}
// var_dump ($find_tr);
find_nilai ($ejString, $find_tr);

Мне нужно запустить этот код, я не знаю, как вернуть более одного значения в php

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вы можете создать класс-оболочку для любого количества свойств данных, а затем объявить новый экземпляр класса, заполнить его данными и вернуть этот экземпляр.

Как только он будет получен с другой стороны, его можно запросить для значений его свойств.

$ejString = (str_replace(' ', '', file_get_contents('ej.txt')));
$find_tr = strpos($ejString, 'JUMLAHRP');

class myData {
    public $find_tr;
    public $ejString;
}

function find_nilai ($ejString, $find_tr){
    while ( $find_tr != false) {
        $find_tr = strpos($find_tr, 'JUMLAHRP');
        $ejString = substr($ejString, $find_tr +8);
        echo get_string_between($ejString, $start, $end);
    }
    $obj = new myData();
    $obj->find_tr = $find_tr;
    $obj->ejString = $ejString;

    return $obj;

}
// var_dump ($find_tr);
$test = find_nilai ($ejString, $find_tr);
echo $test->find_tr;
echo $test->ejString;
0 голосов
/ 05 марта 2020

Оператор return прекращает выполнение функции, поэтому никогда не будет вызван возврат, который вы получили под другим. Вы можете увидеть больше на этой странице документации

Чтобы вернуть более одного значения, вы можете использовать массив или ха sh, объединить нужные значения, а затем вернуть эту переменную , Или подумайте о создании более чем одной функции.

...