PHP Глобальный массив - PullRequest
       5

PHP Глобальный массив

2 голосов
/ 23 января 2020

У меня есть переменная json_decoded, которую я хочу сделать глобальной, потому что мне нужно сопоставить ее в коде внизу (в foreach l oop, который вставляет в SQL это значение).

Но проблема в том, что после нескольких попыток я не могу получить доступ к этому значению $uomlookup. Это работает локально, но не глобально.

Что я делаю не так?

$inttrans = "SELECT * FROM mydb";
$stmt = sqlsrv_query($conn3, $inttrans);

while($rows = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) 
{

      $uomname = $rows['abbreviation'];
      $uomid = $rows['id'];
      $uomjson = array("$uomname"=>"$uomid");
      $uomencode = json_encode($uomjson);

     $uomlookup = json_decode($uomencode, true);
     echo $uomlookup['val1'];

}

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Я понял, что присвоил json новому массиву, и я смог использовать переменную

0 голосов
/ 23 января 2020

Код, который вы показываете, работает внутри функции? Если это так, то, скорее всего, вы просто должны вернуть его:

function myfunction() {
   //do your stuff
   return $value_of_the_future_uomlookup;
}

$uomlookup = myfunction();

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

function myfunction() {
   global $uomlookup;

   //do your stuff
}

Если у вас другой случай, пожалуйста, предоставьте немного больше информации о том, чего вы пытаетесь достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...