Treba mi da isfiltriram niz prema sadrzaju nekog od polaj u nizu. Napravio sam jednostavnu funkciju koja to radi ali mi se ne svidja pretrzivanje peske posto na vecem nizu to moze da pojede vreme. Moze li ovo bolje?
Evo koda i primera:
Kôd:
<?php
//
// filtrira niz $p_array, tako da vrati novi niz koji sadrzi samo
// elemente koji u polju $p_key_name imaju vrednost $p_value
//
function filterArray ($p_array, $p_value, $p_key_name) {
foreach ($p_array as $m_item) {
if ($m_item[$p_key_name] == $p_value) {
$m_result[] = $m_item;
}
}
return $m_result;
}
$m_data[0]['type'] = 'a';
$m_data[0]['name'] = 'data0';
$m_data[1]['type'] = 'b';
$m_data[1]['name'] = 'data0';
$m_data[2]['type'] = 'c';
$m_data[2]['name'] = 'data0';
$m_data[3]['type'] = 'a';
$m_data[3]['name'] = 'data0';
$m_data[4]['type'] = 'b';
$m_data[4]['name'] = 'data0';
$m_data[5]['type'] = 'c';
$m_data[5]['name'] = 'data0';
$m_data[6]['type'] = 'a';
$m_data[6]['name'] = 'data0';
$m_data[7]['type'] = 'b';
$m_data[7]['name'] = 'data0';
$m_data[8]['type'] = 'c';
$m_data[8]['name'] = 'data0';
$m_data[9]['type'] = 'a';
$m_data[9]['name'] = 'data0';
$m_data_a = filterArray ($m_data, 'a', 'type');
$m_data_b = filterArray ($m_data, 'b', 'type');
$m_data_c = filterArray ($m_data, 'c', 'type');
print_r ($m_data_a);
echo "<br>";
print_r ($m_data_b);
echo "<br>";
print_r ($m_data_c);
echo "<br>";
?>