Как я могу напечатать индекс массива, определенный в другом классе в PHP - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь найти и распечатать каждый индекс массива в разных местах. Массив, определенный в другой функции класса с именем namaz, например:

public function vakitler($sehir, $cikti = 'array') {
     $sonuc = array(
         'durum' => 'hata',
         'veri' => array()
      );
      $yer = $this->_yerBilgisi($sehir);
      $cacheDosyasi = "cache_" . $yer['sehir_id'] . ".ndb";
      $sunucu = $this->_sunucudanVeriCek($yer['url']);
      if($sunucu['durum'] == 'basarili' && count($sunucu['veri']['vakitler']) > 0) {
         $icerik = array(
            'ulke' => $yer['ulke'],
            'sehir' => $yer['sehir'],
            'ilce' => $yer['ilce'],
            'yer_adi' => $yer['uzun_adi'],
            'vakitler' => $sunucu['veri']['vakitler']
         );
         $sonuc['durum'] = 'basarili';
         $sonuc['veri'] = $icerik;
        $this->_cacheYaz($cacheDosyasi, json_encode($sonuc));
      }
     return ($cikti == 'array' ? $sonuc : json_encode($sonuc));
    }

, и вот класс, который получает информацию с другого веб-сайта для заполнения функции vakitler

private function _htmlOku($veri) {
      $sonuc = array(
         'vakitler' => array()
      );

      if(strpos($veri, "<div id = \"tab-1\" class=\"w3-container w3-border nv-tab-content\" style=\"display:none\">") !== FALSE) {
         $bolme1 = explode("<div id = \"tab-1\" class=\"w3-container w3-border nv-tab-content\" style=\"display:none\">", $veri);
         $elimizde_kalan = explode("</section>", $bolme1[1]);
         $html = str_get_html($elimizde_kalan[0]);

         foreach ($html->find('tr') as $tr) {
            $sira = 0;
            $simdikiSatir = "";

            foreach ($tr->find('td') as $td) {
               $elde = trim($td->plaintext);

               if($sira == 0) {
                  $tarih = $this->_kisaTarih($elde);
                  $sonuc['vakitler'][$tarih] = array(
                     'tarih' => $tarih,
                     'tarih_uzun' => $elde,
                     'hicri' => $this->_hicriTarih($tarih),
                     'hicri_uzun' => $this->_hicriTarih($tarih, true),
                     'imsak' => '',
                     'gunes' => '',
                     'ogle' => '',
                     'ikindi' => '',
                     'aksam' => '',
                     'yatsi' => ''
                  );
                  $simdikiSatir = $tarih;
               }     
               if($sira == 1) {
                  $sonuc['vakitler'][$simdikiSatir]['imsak'] = $elde;
               }
               if($sira == 2) {
                  $sonuc['vakitler'][$simdikiSatir]['gunes'] = $elde;
               }
               if($sira == 3) {
                  $sonuc['vakitler'][$simdikiSatir]['ogle'] = $elde;
               }
               if($sira == 4) {
                  $sonuc['vakitler'][$simdikiSatir]['ikindi'] = $elde;
               }
               if($sira == 5) {
                  $sonuc['vakitler'][$simdikiSatir]['aksam'] = $elde;
               }
               if($sira == 6) {
                  $sonuc['vakitler'][$simdikiSatir]['yatsi'] = $elde;
               }
               $sira++;
            }
            $sira = 0;
         } 
         $html->clear();
      } 
      return $sonuc;
   }

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

$namaz = new Namaz();
$vakitler = $namaz->vakitler(9206); //9206 the place where i want to see results
print_r($vakitler);

результат похож на Это изображение

Я хочу, чтобы каждый массив по-разному и показать их в некоторых других местах. например, я хочу напечатать echo $vakitler['ikindi'] на вкладке таблицы и $vakitler['aksam'] на другой вкладке. Как я могу напечатать разные значения массива в разных местах? Буду рад вашим ответам.

...