Im essayant de déposant sur seulement les parties de ce tableau - par [canal] (comme celui-ci):Tableau Multidimensional Filtrage [PHP]
Array
(
[0] => Array
(
[268a9d2d25fc2b9765c7cd7b8a768d3e] => Array
(
[dj_name] => Emilian
[channel] => techno
)
[5d1838c3aa6344e3109ab4f0122492f7] => Array
(
[dj_name] => Emilian
[channel] => trance
)
)
[1] => Array
(
[e13268de7c56db42f8aeab2ab4c607f2] => Array
(
[dj_name] => John Doe
[channel] => trance
)
[1aa81b7b123321f79571828600db0f08] => Array
(
[dj_name] => John Doe
[channel] => techno
)
)
donc les résultats devraient être (si le canal est transe):
Array
(
[0] => Array
(
[5d1838c3aa6344e3109ab4f0122492f7] => Array
(
[dj_name] => Emilian
[channel] => trance
)
)
[1] => Array
(
[e13268de7c56db42f8aeab2ab4c607f2] => Array
(
[dj_name] => John Doe
[channel] => trance
)
)
... J'ai essayé avec des boucles foreach ... à unset mais na pas avoir beaucoup aussi avec succès .. array_filter ...
avec foreach j'ai essayé comme ça (mais je ne sais pas comment mettre à jour le $ show_data tableau une fois boucle fermée est e ... hmm im pretty vert à php:
foreach($show_data as $idindex => $codearray){
foreach($codearray as $codestring => $paramarray) {
foreach($paramarray as $param => $val) {
if(preg_grep('/trance/', $paramarray)){
unset($paramarray[$val]);
}}}}
print_r($show_data);
Et j'ai aussi essayé avec (mais si le premier est alors transe il ne marche pas filtrer le reste .. même si elles sont techno .. . i besoin de filtrer au niveau [5d1838c3aa6344e3109ab4f0122492f7]):
$genre = 'trance';
$data = array_filter($dataraw, function($fs) use ($genre) {
return current($fs)['channel'] === $genre;
});
Merci à l'avance!
Essayez 'si (preg_grep ('/ trance /', $ val)) {' – RiggsFolly