lostyazilim
tr.link

--------

12 Mesajlar 2.022 Okunma
lstbozum
tr.link

BigBang BigBang Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.06.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad B** Y**
  • Mesajlar 169
  • Beğeniler 20 / 39
  • Ticaret 0, (%0)
--------
 

 

wmaraci
reklam

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
function search($arr,$q){
foreach($arr as $key => $val){
if(trim($key) == $q) return $arr;
if(is_array($val)) return search($val,$q);
}
}


Bunu dener misin?
 

 

.

BigBang BigBang Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.06.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad B** Y**
  • Mesajlar 169
  • Beğeniler 20 / 39
  • Ticaret 0, (%0)

soulmy adlı üyeden alıntı

function search($arr,$q){
foreach($arr as $key => $val){
if(trim($key) == $q) return $arr;
if(is_array($val)) return search($val,$q);
}
}


Bunu dener misin?


Maalesef olmadı. ikinci if'den sonrada return ekleyince hiç çalışmıyor.
 

 

rmznkapar rmznkapar WM Aracı Kullanıcı
  • Üyelik 22.06.2017
  • Yaş/Cinsiyet 26 / E
  • Meslek Öğrenci
  • Konum Kocaeli
  • Ad Soyad R** K**
  • Mesajlar 106
  • Beğeniler 23 / 19
  • Ticaret 0, (%0)
return dan sonra print_r yaprığınıza emin misiniz?
 

 

wmaraci
wmaraci

woakazam woakazam WM Aracı Telefon Onaysız
  • Üyelik 02.07.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad A** C**
  • Mesajlar 67
  • Beğeniler 0 / 35
  • Ticaret 1, (%100)
1 => "return $arr" değil "return $val" demeniz lazım.
2 => "return" kullandığınız için kullanımı aşağıdaki şekilde olmalıdır.


$aranan = search(array, key);
echo $aranan;
 

 

BigBang BigBang Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.06.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad B** Y**
  • Mesajlar 169
  • Beğeniler 20 / 39
  • Ticaret 0, (%0)

woakazam adlı üyeden alıntı

1 => "return $arr" değil "return $val" demeniz lazım.
2 => "return" kullandığınız için kullanımı aşağıdaki şekilde olmalıdır.


$aranan = search(array, key);
echo $aranan;


$val yapınca olmuyor. $arr dediğimde istediğim sonucu alabiliyorum ama fonksiyondan geriye döndüremiyorum
 

 

woakazam woakazam WM Aracı Telefon Onaysız
  • Üyelik 02.07.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad A** C**
  • Mesajlar 67
  • Beğeniler 0 / 35
  • Ticaret 1, (%100)
Kullandığınız kodu görme şansım olursa yardımcı olabilirim. $val olmama gibi bir lüksü yok çünkü.
 

 

BigBang BigBang Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.06.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad B** Y**
  • Mesajlar 169
  • Beğeniler 20 / 39
  • Ticaret 0, (%0)

woakazam adlı üyeden alıntı

Kullandığınız kodu görme şansım olursa yardımcı olabilirim. $val olmama gibi bir lüksü yok çünkü.


İşte kullandığım tüm kodlar konuda belirttikelerim.

function search($arr,$q){
foreach($arr as $key => $val){
if(trim($key) == $q) return $arr;
if(is_array($val)) search($val,$q);
}
}
 

 

woakazam woakazam WM Aracı Telefon Onaysız
  • Üyelik 02.07.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Eskişehir
  • Ad Soyad A** C**
  • Mesajlar 67
  • Beğeniler 0 / 35
  • Ticaret 1, (%100)
Senin için bir kod dizimi hazırladım ve sorunsuz olarak çalışmakta. Anlamadığın yer olursa sorabilirsin.



$x = array(
array(
"a" => "Yok",
"b" => "Var",
"c" => 1337
),
array(
"d" => "Gece",
"e" => "Gündüz",
"f" => 7331
),
"k" => "Güneş",
"z" => "Ay"
);

function search($dizi, $j){
$output = NULL;
foreach($dizi as $a => $b){
if(trim($a) == $j){
$output = $b;
}
if(is_array($b)){
$output = search($b, $j);
}
}
return $output;
}

$result = search($x, "e");

echo $result;

?>
 

 

BigBang BigBang Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.06.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad B** Y**
  • Mesajlar 169
  • Beğeniler 20 / 39
  • Ticaret 0, (%0)

woakazam adlı üyeden alıntı

Senin için bir kod dizimi hazırladım ve sorunsuz olarak çalışmakta. Anlamadığın yer olursa sorabilirsin.



$x = array(
array(
"a" => "Yok",
"b" => "Var",
"c" => 1337
),
array(
"d" => "Gece",
"e" => "Gündüz",
"f" => 7331
),
"k" => "Güneş",
"z" => "Ay"
);

function search($dizi, $j){
$output = NULL;
foreach($dizi as $a => $b){
if(trim($a) == $j){
$output = $b;
}
if(is_array($b)){
$output = search($b, $j);
}
}
return $output;
}

$result = search($x, "e");

echo $result;

?>


Yok bişey döndürmüyor. 6-7 boyutlu bir dizi düşün öyle bir dizim var. Denedim ama çalışmadı.
 

 

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