lostyazilim
tr.link

include ettiğim verileri explode ile ayırıp arama yaptırmak istiyorum ? (Ücretli de olabilir)

7 Mesajlar 976 Okunma
acebozum
tr.link

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)


$list = 'unify-edge-global,2/18/2019 12:00:00 AM,AUC
ali-ahmad,2/19/2019 12:00:00 AM,AUC
health-e,2/20/2019 12:00:00 AM,AUC
bprnow,2/21/5019 12:00:00 AM,AUC
dd-edge-erpadla-i6aiz,2/18/2019 12:00:00 AM,AUC';



Yukarıda ki veriyi

$liste = explode ("AM,AUC", $list);

explode ile ayırıyom.

listede tarihi 2/18/2019 12:00:00 bu tarihte olup içerisinde edge kelimesi geçen sonucları nasıl alabilirim ?
 

 

elektronikssl
webimgo

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)
Biraz yorgun olduğum için kafam dağınık fakat bu kod hehalde işinizi görecektir.


foreach ($liste as $key) {

$konumbir = strpos($key, "2/18/2019 12:00:00");
$konumiki = strpos($key, "edge");

if($konumbir && $konumiki){
echo $key.'
';
}
}
 

 

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)
kelebek Hocam teşekkürler yorumun için, evet bu benim işimi görecek, lakin diyelim edge yi yazmadım sadece tarih aradım . yada bir arama daha ekledim 3 e çıkardım diyelim burda nasıl yapalım . verileri dışarıdan array ile alsak foreach içine, for lada listeyi döndürsek. içeride ki if i de gelen arama sayısına göre artık 3 4 5 kac tane gelirse && koyarak döngü ile çoğaltsak bilmem anlatabildim mi :)
 

 

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)
Oldukça berbat ama çalışıyor :)



$list = 'unify-edge-global,2/18/2019 12:00:00 AM,AUC
ali-ahmad,2/19/2019 12:00:00 AM,AUC
health-e,2/20/2019 12:00:00 AM,AUC
bprnow,2/21/5019 12:00:00 AM,AUC
dd-edge-erpadla-i6aiz,2/18/2019 12:00:00 AM,AUC';
$liste = explode ("AM,AUC", $list);


$kontrol_listesi= ["2/18/2019 12:00:00", "edge"];

foreach ($liste as $key){
$i = 0;

foreach ($kontrol_listesi as $kontrol) {
$konumbir = strpos($key, $kontrol);
if($konumbir){
$i++;
}
}

if ($i == count($kontrol_listesi)) {
echo $key;
}


}


Yukarıda yaptığım şey basitçe kontrol listesinde ki eleman sayısı kadar bir döngü oluşturdum. Sonrasında liste arrayında bulunan her cümleyi konrol ettirdim. Kelimler her eşleştiğinde "$i" değişkenini bir arttırdım. Sonuç olarak kontrol listesinde bulunan eleman sayısına eşit ise ekrana yazdırdım.
 

 

wmaraci
wmaraci

emrshn emrshn WM Aracı Kullanıcı
  • Üyelik 05.10.2017
  • Yaş/Cinsiyet 39 / E
  • Meslek otomasyon
  • Konum Kayseri
  • Ad Soyad E** Ş**
  • Mesajlar 425
  • Beğeniler 9 / 51
  • Ticaret 0, (%0)
kelebek çok teşekkür ederim hocam, eline sağlık
 

 

0ktay 0ktay strdex Kullanıcı
  • Üyelik 01.02.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Yazılım öğrencisi
  • Konum Antalya
  • Ad Soyad O** Ş**
  • Mesajlar 603
  • Beğeniler 25 / 155
  • Ticaret 2, (%100)
kelebek emrshn Dostum neden bu kadar uzun yol takip ettiniz ki php bunu kolaylaştırmak için in_array ile array_search diye bir fonksiyon yapmış zaten :)

Explode kullanarak yaptığınız parçalama işleminden dönen sonuç değişkene array olarak yazılır.

Örnek:

/* array_search kullanımı */

$array = array(0 => 'mavi', 1 => 'beyaz'); /* Diziyi oluşturalım. */
$a = array_search('mavi', $array); /* array_search ile diziyi tara */
echo "Mavi renginin anahtarı: ".$a."
"; /* Çıkartalım. */
/* Çıktısı; Mavi renginin anahtarı: 1 */

/* in_array kullanımı */
$meyve = array("Elma", "Kiraz", "Nar", "Şeftali");

if (in_array("Kiraz", $meyve)) {

echo "Kiraz dizinde var";
}
/* Çıktısı; Kiraz dizinde var */

?>
 

 

Eğitimin pahalı olduğunu düşünüyorsanız, cehaletin bedelini hesaplayın.

kelebek kelebek WM Aracı Kullanıcı
  • Üyelik 11.05.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Geliştirici
  • Konum Malatya
  • Ad Soyad E** K**
  • Mesajlar 3142
  • Beğeniler 60 / 764
  • Ticaret 5, (%100)

0ktay adlı üyeden alıntı

kelebek emrshn Dostum neden bu kadar uzun yol takip ettiniz ki php bunu kolaylaştırmak için in_array ile array_search diye bir fonksiyon yapmış zaten :)

Explode kullanarak yaptığınız parçalama işleminden dönen sonuç değişkene array olarak yazılır.

Örnek:

/* array_search kullanımı */

$array = array(0 => 'mavi', 1 => 'beyaz'); /* Diziyi oluşturalım. */
$a = array_search('mavi', $array); /* array_search ile diziyi tara */
echo "Mavi renginin anahtarı: ".$a."
"; /* Çıkartalım. */
/* Çıktısı; Mavi renginin anahtarı: 1 */

/* in_array kullanımı */
$meyve = array("Elma", "Kiraz", "Nar", "Şeftali");

if (in_array("Kiraz", $meyve)) {

echo "Kiraz dizinde var";
}
/* Çıktısı; Kiraz dizinde var */

?>


Dediğiniz yöntemleri biliyorum fakat arkadaş birden fazla kelimeyi aramaya çalışıyor. Bir de dediğim gibi işlerim yoğun olduğu için kafam çok karşık durumda :). Birden fazla kelimeyi sorgulamayı yapabilirse dediğiniz yöntem daha avantajlı olacaktır.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al