Je comprend bien que je m'explique mal je reprend donc,
Je remplis mon tableau $tab[]=array ($msf,$profil,$pr);
Le tableau se remplis bien voici un exemple lorsque je le print ( je sais c'est un peu violent)
Array ( [0] => Array ( [0] => MSF: 10 Type: P Check: 0 .. Name: sequence_1 Len: 10 Check: 1 Weight: 1.00 // sequence_1 MPHTLWMVWV [1] => ID SEQUENCE_PROFILE; MATRIX. AC ZZ99999; DT Mon Mar 29 10:12:48 2010 DE Generated from MSF file: '/opt/lampp/htdocs/profils/test.msa'. MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=10; MA /DISJOINT: DEFINITION=PROTECT; N1=2; N2=9; MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.0000000; R2=0.0100000; TEXT='No_units'; MA /CUT_OFF: LEVEL=0; SCORE=850; N_SCORE=8.5; MODE=1; TEXT='!'; MA /CUT_OFF: LEVEL=-1; SCORE=650; N_SCORE=6.5; MODE=1; TEXT='?'; MA /DEFAULT: M0=-10; D=-20; I=-20; B0=*; B1=*; E0=*; E1=*; MI=-105; MD=-105; IM=-105; DM=-105; MA /I: B0=0; B1=0; BI=-105; BD=-105; MA /M: SY='M'; M=-10,-20,-20,-30,-20,0,-20,0,20,-10,20,60,-20,-20,0,-10,-20,-10,10,-20,0,-10; MA /M: SY='P'; M=-10,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,90,-10,-20,-10,-10,-30,-30,-30,-10; MA /M: SY='H'; M=-20,0,-30,0,0,-20,-20,100,-30,-10,-20,0,10,-20,10,0,-10,-20,-30,-30,20,0; MA /M: SY='T'; M=0,0,-10,-10,-10,-10,-20,-20,-10,-10,-10,-10,0,-10,-10,-10,20,50,0,-30,-10,-10; MA /M: SY='L'; M=-10,-30,-20,-30,-20,10,-30,-20,20,-30,50,20,-30,-30,-20,-20,-30,-10,10,-20,0,-20; MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-30,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,150,30,-20; MA /M: SY='M'; M=-10,-20,-20,-30,-20,0,-20,0,20,-10,20,60,-20,-20,0,-10,-20,-10,10,-20,0,-10; MA /M: SY='V'; M=0,-30,-10,-30,-30,0,-30,-30,30,-20,10,10,-30,-30,-30,-20,-10,0,50,-30,-10,-30; MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-30,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,150,30,-20; MA /M: SY='V'; M=0,-30,-10,-30,-30,0,-30,-30,30,-20,10,10,-30,-30,-30,-20,-10,0,50,-30,-10,-30; MA /I: E0=0; E1=0; IE=-105; DE=-105; CC /GENERATED_BY="/home/guillaume/Desktop/pftools/pftools/pfmake -1 /opt/lampp/htdocs/profils/test.msa /home/guillaume/Desktop.."; // [2] => /tmp/resultpfxnML42 ) )
On voie bien que les incrémentations des différentes variables sont bonnes: 0, 1 et 2.
En revanche, celle du tableau elle même reste toujour à 0 :
Array ( [0] => Array ( [0].....
Je n'arrive pas à l'auto-incrémenter.
Donc à partir de ce tableau dont le remplissage est correct, je cherche à comparer la valeur d'une variable $mx avec le $pr de mon tableau et si celle ci sont les mêmes, recupérer la clé de $tab.
Par exemple dans ce cas là je cherche à voir si $mx est égal à $pr soit : "/tmp/resultpfxnML42". Si c'est le cas j'aimerai qu'il m'affiche la clé de $tab de ce cas là c'est 0 car l'auto incrémentation ne fonctionne pas.
J'ai donc recupérer la fonction recursive_array_search que j'ai adapté à mon cas en placant en argument $mx (la valeur que je cherche à comparer au valeur de mon tableau $tab).
#Renvoie clé de $mx (valeur maximale)
function recursive_array_search($needle,$haystack) {
foreach($haystack as $key=>$value) {
$current_key=$key;
if($needle===$value OR (is_array($value) && recursive_array_search($needle,$value))) {
return $current_key;
}
}
return false ;
}
$found = recursive_array_search($mx,$tab);
var_dump($found);
Le var_dump me renvoie "bool(false)", la fonction n'est donc pas executé.
Voilà je pense que les 2 problèmes sont en partit liés, je ne voie pas comment ressoudre ce problème car tout le reste fonctionne très bien.
Merci pour l'attention accordée
Cordialement