dizi array dan gelen veriyi tarih verisine göre listeleme
arrayda veriyi şu şekilde tutuyorum
$array = "1234|4756|1|31.01.2023,5678|6453|2|01.02.2023"
veri dizisini kendi arasında virgül (,) ile ayırıyorum. her veri dizisini içinde | işareti ile ayırıyorum ve 4 bölümden oluşuyor.
buradaki verileri kullanarak array ile listeleme yapıyorum. istediğim array içerisinden gelen veriyi | işaretinden ayıklayarak tarihe göre almak ancak bunu başaramadım. (foreach) döngüsüne alıyorum ancak tarih haliyle karışık geliyor. nasıl yapabilirim?
örnek :
$array = "1234|4756|1|31.01.2023,5678,6453,2,01.02.2023"
for ($i2=0; $i2<$kactane2; $i2++) {
$urunler = explode(",", $array);
foreach ($urunler as $urunveri) {
$data = explode("|", $urunveri);
// BURAYA VERİLER GELİYOR. VE İŞLEMLERİ YAPABİLİYORUM.
// ANCAK BURADA GELEN VERİLER ARTIK AYRIŞTIRDIKTAN SONRA
// KARIŞIK TARİH İLE GELİYOR.
// TAM BU AŞAMADA TARİHİ NASIL SIRAYA ALIRIM?
}
}
@abdullahx teşekkür ederim ama ne yazıkki olmadı.
usort($fixedArray, function($a, $b) {
return strtotime($a[3]) <=> strtotime($b[3]);
});
yukarıdaki satırı eklediğimde 500 internal server error hatası alıyorum.
satırı kaldırdığımda çalışıyor.
muhtemelen <=>
<=> strtotime($b[3]);
şu bağlaç çalışmıyor bu engel oluyor.
şu şekilde çalışıyor mesela :
usort($fixedArray, function($a, $b) {
return strtotime($a[3]);
});
çözümü varmıdır? nasıl yaparız?