PDA

View Full Version : [PHP] Creare un Array con una condizione !!!


race2
07-03-2005, 16:18
Come posso fare per creare un Array con la condizione che vedete nel codice ???


function get_array_table($Database,$oConn){
$i=0;
$result=mysql_list_tables($Database,$oConn);
while(list($table_name)=mysql_fetch_array($result)){
if(substr($table_name,-2)=="A1"){
$array_table[$i]=$table_name;
$i++;
}
}
return $array_table;
}


il problema e' che il WHILE cicla pure se la condizione e' FALSE ed e' in quel momento che perde l'Array creato fino a li, come si deve fare per non perdere l'Array quando nel bel mezzo del ciclo ci sono condizioni FALSE ???

cionci
07-03-2005, 17:10
Che intendi per "perdere l'array" ?

race2
07-03-2005, 17:25
Nel mio Database ho 230 Tabelle,

70 hanno come finale del nome la "A"
130 hanno come finale del nome la "A1"
30 hanno come finale del nome la "A2",

se io voglio fare l'array con solo le 70 che hanno la "A" finale le altre mi fanno proseguire il WHILE nel suo ciclo causando la perdita dell'Array, quindi se sostituisco il "return" ad un "echo" nella funzione non mi restituisce neppure "Array" ....

non mi sembra regolare!!

cionci
07-03-2005, 17:27
Mi sembra che vada tutto bene...non ci vedo neinte di errato... Non so cosa dirti...

race2
07-03-2005, 17:40
Hai ragione funziona!!

perche allora quello sopra non va???


<?
$A[0]="Table1_A1";
$A[1]="Table1_A";
$A[2]="Table1_A1";
$A[3]="Table1_A";
$A[4]="Table1_A";
$A[5]="Table1_A";
$A[6]="Table1_A";
$A[7]="Table1_A1";
$A[8]="Table1_A";
$A[9]="Table1_A";


function get_array_table($A){
$i=0;
foreach($A as $table_name){
if(substr($table_name,-2)=="A1"){
$array_table[$i]=$table_name;
$i++;
}
}
return $array_table;
}


foreach(get_array_table($A) as $item){
echo"$item<br>";
}
?>