Je cherche a partir de 2 arrays :
$ar1 = array('a', 'b', 'c', 'h', 'k');
$ar2 = array('a', 'c', 'e', 't');
a obtenir :
$idealar = array(
'a' => 'a',
'b' => '0',
'c' => 'c',
'0' => 'e',
'h' => '0',
'k' => '0',
'0' => 't'
);
J'ai donc ecrit le code suivant :$finalar = null;
$tmp = array_unique(array_merge($ar1, $ar2));
sort($tmp);
for($i=0; $i<count($tmp); $i++)
{
if(array_search($tmp[$i], $ar1) && array_search($tmp[$i], $ar2))
$finalar[] = array($ar1[array_search($tmp[$i], $ar1)], $ar2[array_search($tmp[$i], $ar2)]);
if(array_search($tmp[$i], $ar1) && !array_search($tmp[$i], $ar2))
$finalar[] = array($ar1[array_search($tmp[$i], $ar1)], '0');
if(array_search($tmp[$i], $ar2) && !array_search($tmp[$i], $ar1))
$finalar[] = array('0', $ar2[array_search($tmp[$i], $ar2)]);
}
var_dump($finalar);
Qui me donne le resultat surprenant :
Code : Tout sélectionner
array(6) {
[0]=>
array(2) {
[0]=>
string(1) "b"
[1]=>
string(1) "0"
}
[1]=>
array(2) {
[0]=>
string(1) "c"
[1]=>
string(1) "c"
}
[2]=>
array(2) {
[0]=>
string(1) "0"
[1]=>
string(1) "e"
}
[3]=>
array(2) {
[0]=>
string(1) "h"
[1]=>
string(1) "0"
}
[4]=>
array(2) {
[0]=>
string(1) "k"
[1]=>
string(1) "0"
}
[5]=>
array(2) {
[0]=>
string(1) "0"
[1]=>
string(1) "t"
}
}
Quelqu'un aurait-il une explication a cette bizarrerie ?
Merci