Как я могу использовать эту переменную вне этой функции

#php #variables

#php #переменные

Вопрос:

после вызова DemoSlideListing($apiobj,'tech',12,2) он выводит эхо-часть функции, но я хочу использовать переменную $TotalResults вне этой функции, я имею в виду в любом месте страницы. как я могу это сделать. Заранее спасибо. пожалуйста, помогите

 function DemoSlideListing($apiobj, $query, $per_page, $page) {
    $data = $apiobj->search_slides($query, $per_page, $page);
    foreach($data as $key) {
        $title = $key['TITLE'];
        $title2 = substr($title, 0, 35);
        $TotalResults = $key['TOTALRESULTS'];
        echo '<td valign="top"><div id="slide_thumb">
</div>
<div id="slide_thum_des"><strong>Views :</strong> '.$info['VIEWS'].'<br />
<a href="'.$key['DOWNLOADURL'].'">'.$title2.'....</a></div>
</td>';

    }
}
  

Комментарии:

1. Добро пожаловать в Stack Overflow. Пожалуйста, сделайте отступ в своем коде — больше людей здесь потратят время, чтобы помочь вам, если ваш код читаем.

2. Строки с разрывами строк не должны иметь отступов (поскольку отступ повлияет на саму строку).

3. Вам нужно только последнее значение $TotalResults ? Поскольку это внутри цикла, вы получите только последний результат цикла, если это значение будет возвращено.

Ответ №1:

Верните ее из функции. Пожалуйста, ознакомьтесь с документацией PHP о возвращаемых функциях.

 function DemoSlideListing($apiobj,$query,$per_page,$page){
  $data = $apiobj->search_slides($query,$per_page,$page); 

    // Declare $TotalResults as an array
    $TotalResults = array();

    foreach ($data as $key){
    $title = $key['TITLE'];
    $title2 = substr($title, 0, 35);

    // Append current value to TotalResutls
    $TotalResults[] = $key['TOTALRESULTS'];

    echo '<td valign="top"><div id="slide_thumb">
</div>
<div id="slide_thum_des"><strong>Views :</strong> '.$info['VIEWS'].'<br />
<a href="'.$key['DOWNLOADURL'].'">'.$title2.'....</a></div>
</td>';

  }

  // Return the value
  return $TotalResults;
}   

// Call as:
$totalresults = DemoSlideListing($apiobj,$query,$per_page,$page);

// $totalresults holds the array that $TotalResults held at the time the function execution completed.
print_r($totalresults);
  

Комментарии:

1. $ totalResults также не печатается в это время. как напечатать ее в нижнем колонтитуле страницы???

2. я использую эту функцию в двух местах на странице, используя разные значения функции

3. @rajzana Обратите внимание на чувствительность имен переменных к регистру. В моем примере выше функция вызывается, а результат сохраняется в $totalresults . Эта переменная доступна для доступа в любой момент после вызова. Если вы вызываете функцию DemoSlideListing() во второй раз, сохраните результат в другой переменной, как в $newresult = DemoSlideListing(....);

4. я объясняю это подробнее, что я использовал $ totalresults = DemoSlideListing($ apiobj,$query,$ per_page,$ page); echo $ totalresults; но теперь я хочу использовать echo $ totalResults; под этим кодом, но он не работает. я хочу сделать только это.

5. Это не работает, потому что $TotalResults не является допустимой переменной вне функции. Вы должны использовать $totalresults так, как она была возвращена. Вы можете использовать ее столько раз, сколько вам нужно. echo $totalresults;echo $totalresults;echo $totalresults;