S.a. arkadaşlar,
preg_match_all dönen diziyi gruplamam lazım fakat bir türlü nasıl yapabileceğim konusunda sıkıntı yaşıyorum. Bir bile sor demiş atalarımız kısacası yardımlarınızı rica ederim.
Öncelikle ayrı ayrı verileri for döngüsü ile yazdırıp tekrar bir diziye atıyorum. Zaten hepsi bir html deseni içerisinde yer alıyor.
Dönen birleştirilmiş dizi örneği:
Array
(
[0] => H:11 - K:3 - W:28
[1] => H:13 - K:3 - W:23
[2] => H:22 - K:3 - W:24
[3] => H:8 - K:3.5 - W:33
[4] => H:5 - K:3.5 - W:44
[5] => H:3 - K:3.5 - W:68
[6] => H:1 - K:2 - W:99
[7] => H:2 - K:2 - W:93
[8] => H:2 - K:2 - W:91
[9] => H:22 -K:3 - W:91
[10]=> H:19 -K:3 -W:28
[11] =>H:12 -K:3 - W:22
)
Şimdi bu diziyi gruplamam icap ediyor. Ortadaki K: değerlerine göre. Fakat dizide dikkat ederseniz iki tane K:3 Değeri var bu değerlerde ayrı bir dizide olmak durumunda yani sırası ile almak zorundayım. Böyle olmasaydı zaten php dizi kesişim hesaplama fonksiyonları iş görecekti zaten. Yani kademe kademe gruplamak icap ediyor.Yani bu diziden tekrar 4 dizi elde etmem gerekiyordu ayrıca sıralarıda önemli. Yani giriş ve kapanış dizilerinin ilerde şartlı ifadelerde kullanacağım. Umarım açıklayıcı olmuştur surçi lisa ettiysek afola.
Dizi gruplama nasıl yapılır?
5
●1.705
- 31-10-2016, 19:34:11Hahaha
Aynen arkadaşlar şimdi bende okudum tekrardan harbiden olmamış
Kusura bakmayın uzun zamandır uğraşıyorumda kafam allak bullak olmuş durumda. Neyse biraz ara verip tekrar güncellerim konuyu.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:34:11 -->-> Daha önceki mesaj 17:55:34 --
Şöyle anlatmaya çalışayım o zaman
Dizi:
[0] => 3
[1] => 3
[2] => 3
[3] => 3
[4] => 3
[5] => 3
[6] => 3
[7] => 4
[8] => 4
[9] => 4
[10] => 5
[11] => 5
[12] => 5
[13] => 6
[14] => 6
[15] => 6
[16] => 3
[17] => 3
[18] => 3
[19] => 3
[20] => 3
[21] => 3
Yukarıdaki dizi ayrı ayrı gruplamak istiyorum fakat değeri 3 olanlarda farklı konumda yani birisi dizinin girişinde diğeri çıkışında bunlarda farklı bir dizide olmasını istiyorum. Öncelikle aşağıdaki fonksiyon ile gruplama yapabiliyorum fakat değeri 3 olanları aynı diziye atıyor. Ben değeri 3 olanların konumları farklı olduğundan ayrı dizilerde göstermek zorundayım.Bunu nasıl yapabilirim yardımlarınızı rica ediyorum umarım şimdi anlatabildimmi acaba.
function ikili($var) { $coun = count($var); if($coun == 1) { return; } $arr = array(); $series = array(); for($i=1;$i<$coun;$i++) { if($var[$i-1] == $var[$i]) { $arr[] = $var[$i-1]; $arr[] = $var[$i]; } else if(isset($arr[1])) { $series[] = $arr; $arr = array(); } } return $series; } - 31-10-2016, 23:12:53Kimlik doğrulama veya yönetimden onay bekliyor.aLKaDraZ adlı üyeden alıntı: mesajı görüntüle
<?php $gid = 0; $array = [ 1,1,1,3,3,3,4,4,5,1,1,1,3,3,4,4,2,2 ]; foreach($array as $key => $value){ if($key && $array[$key-1] != $value){ $gid++; } $array2[$gid][] = $value; } print_r($array2); - 31-10-2016, 23:41:41Harbi helal olsun hocamPROOYUN adlı üyeden alıntı: mesajı görüntüle
Tam istediğim gibi oldu bravo.