v2.5.2
Giriş yap

php dizi işlemleri

aziz1235
377 defa görüntülendi ve 1 kişi tarafından değerlendirildi

beyler sorum şu benim alt alta birsürü dizim var onları içindeki bir tarihe göre listelicem ve aynı olanların sayılarını toplicam olmayanlar tek gelicek zaten

örneğin:

$array = [
	[

		"TOPLAM_ADET" => 8130,
		"HAREKET_TARIHI" => "2021-08-09 00:00:00.000",
		"S_FLOAT2" => "7.5999999999999996",
		"S_FLOAT3" => "2.1669999999999998",
		"dk" => "79,406",
		"bant_kisi" => 25,
		"total_kapasite" => "13,500",
		"verim" => "588",
	],
	[
	
		"TOPLAM_ADET" => 113,
		"HAREKET_TARIHI" => "2021-08-07 00:00:00.000",
		"S_FLOAT2" => "7.2300000000000004",
		"S_FLOAT3" => "2.3300000000000001",
		"dk" => "1,080",
		"bant_kisi" => 12,
		"total_kapasite" => "6,480",
		"verim" => "17",
	],
	[

		"TOPLAM_ADET" => 5281,
		"HAREKET_TARIHI" => "2021-08-09 00:00:00.000",
		"S_FLOAT2" => "7.5999999999999996",
		"S_FLOAT3" => "2.1669999999999998",
		"dk" => "22,367",
		"bant_kisi" => 28,
		"total_kapasite" => "18,250",
		"verim" => "241",
	]
];

böyle alt alta gelen verilerim var benim istediğim HAREKET_TARIHI aynı olanlar tek 1 tane yazsın ve aynı tarihte olanların adet float bilgileri toplansın bunu nasıp yapabilir bilen yardımcı olursa sevinirim?

Cevap yaz
Cevaplar (2)
aziz1235
961 gün önce

@makifgokce usta saolasın yazdığın kod çalışıyor ama anlayamadığım bişey daha var mesela tarihi aynı olanların TOPLAM_ADET ini nasıl toplicam

uasort($array, function($x, $y){
	if ($x["HAREKET_TARIHI"] == $y["HAREKET_TARIHI"]) {
		return 0;
	}
	return strtotime($x["HAREKET_TARIHI"]) - strtotime($y["HAREKET_TARIHI"]);
});

tarihleri aynı olanların TOPLAM_ADET kısımları toplanması için napmam gerek ??

makifgokce
961 gün önce
$array = [
	[

		"TOPLAM_ADET" => 8130,
		"HAREKET_TARIHI" => "2021-08-09 00:00:00.000",
		"S_FLOAT2" => "7.5999999999999996",
		"S_FLOAT3" => "2.1669999999999998",
		"dk" => "79,406",
		"bant_kisi" => 25,
		"total_kapasite" => "13,500",
		"verim" => "588",
	],
	[
	
		"TOPLAM_ADET" => 113,
		"HAREKET_TARIHI" => "2021-08-07 00:00:00.000",
		"S_FLOAT2" => "7.2300000000000004",
		"S_FLOAT3" => "2.3300000000000001",
		"dk" => "1,080",
		"bant_kisi" => 12,
		"total_kapasite" => "6,480",
		"verim" => "17",
	]
];
uasort($array, function($x, $y){
	if ($x["HAREKET_TARIHI"] == $y["HAREKET_TARIHI"]) {
		return 0;
	}
	return strtotime($x["HAREKET_TARIHI"]) - strtotime($y["HAREKET_TARIHI"]);
});
print_r($array);