<?php $array1 = array( 0 => array( 'id' => 1, 'name' => 'HiO' ), 1 => array( 'id' => 2, 'name' => 'Hyun' ), 'key0' => array( 'id' => 3, 'name' => 'test' ) ); $array2 = array( 0 => array( 'id' => 15, 'name' => 'Plop' ), 1 => array( 'id' => 4, 'name' => 'Hyun' ), 2 => array( 'id' => 56, 'name' => 'Hehe' ), 3 => array( 0 => array( 'id' => 10, 'name' => 'Hi0', 'key' => array( 'id' => 1, 'name' => 'HiO' ) ) ) ); function find($index, $search, $array) { foreach($array as $key => $value) { if(is_array($value)) { if(find($index, $search, $value)) { return true; } } if($key == $index && $value == $search) return true; } return false; } $not_found_array = array(); $found_array = array(); foreach($array1 as $key => $value) { if($find = find('name', $value['name'], $array2)) { echo $value['name'].' found !<br />'; $found_array[] = $value; } else { echo $value['name'].' not found !<br />'; $not_found_array[] = $value; } } var_dump($not_found_array, $found_array); |
Archives du mot-clef find
BASH Comment supprimer des repertoires vide
Une question simple avec une réponse tout aussi simple, comment qu’on fais pour virer un nombre N de répertoire vide sans devoir faire un ‘rm -rf’ a la main pour chaque répertoire.
Le find qui sert a supprimer tous les rpertoires vide d’un repertoire
find . -maxdepth 1 -type d -empty -exec sh -c 'rm -rf "{}" && echo "{}" deleted' \; |
Je crée des répertoires bidon pour les tests :p
hio@fantasy:~/test$ mkdir {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,notemptydir} hio@fantasy:~/test$ echo maisblu > notemptydir/testfile hio@fantasy:~/test$ ls -l total 88 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 0 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 1 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 10 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 11 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 12 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 13 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 14 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 15 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 16 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 17 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 18 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 19 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 2 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 20 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 3 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 4 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 5 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 6 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 7 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 8 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 9 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 notemptydir |
On execute le find ^^
hio@fantasy:~/test$ find . -maxdepth 1 -type d -empty -exec sh -c 'rm -rf "{}" && echo "{}" deleted' \; ./16 deleted ./10 deleted ./14 deleted ./15 deleted ./4 deleted ./17 deleted ./19 deleted ./2 deleted ./1 deleted ./7 deleted ./13 deleted ./3 deleted ./20 deleted ./12 deleted ./0 deleted ./18 deleted ./6 deleted ./8 deleted ./11 deleted ./5 deleted ./9 deleted hio@fantasy:~/test$ ls -l total 4 drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 notemptydir |
Voila rien de bien sorcier ^^