1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| <?php
$meule = array(
array( "id" => '1001', "A" => '8', "B" => '3'),
array( "id" => '1002', "A" => '8', "B" => '9', "C" => '5', "D" => '1'),
array( "id" => '1003', "A" => '1', "B" => '7'),
array( "id" => '1004', "A" => '8', "B" => '5', "C" => '7'),
array( "id" => '1005', "A" => '8'),
array( "id" => '1006', "A" => '3', "B" => '7')
);
function recursive_array_search($champ, $valeur, $tableau)
{
$rs = array();
foreach($tableau as $obj)
{
foreach($obj as $key => $val)
{
if(($key == $champ) && ($val == $valeur))
{
$rs[] = $obj;
}
}
}
return $rs;
}
var_dump(recursive_array_search("A", '8', $meule));
?>
/*
RÉSULTATS pour un triage suivant les critères 'A == 8' :
array(4) {
[0]=>
array(3) {
["id"]=>
string(4) "1001"
["A"]=>
string(1) "8"
["B"]=>
string(1) "3"
}
[1]=>
array(5) {
["id"]=>
string(4) "1002"
["A"]=>
string(1) "8"
["B"]=>
string(1) "9"
["C"]=>
string(1) "5"
["D"]=>
string(1) "1"
}
[2]=>
array(4) {
["id"]=>
string(4) "1004"
["A"]=>
string(1) "8"
["B"]=>
string(1) "5"
["C"]=>
string(1) "7"
}
[3]=>
array(2) {
["id"]=>
string(4) "1005"
["A"]=>
string(1) "8"
}
}
*/ |
Partager