webForumDet fria alternativet

Är något ifyllt i mina array fält?

PHP

7 svar · 220 visningar · startad av nkrantz

Medlem sedan apr. 2002830 inlägg
Frågan#1

Hej!

Har fem input fields som heter option[], dvs de skapar en array när de skickas.

Hur kan jag få reda på om något har fyllts i dessa, mao, jag vill att en sak skall göras om något har fyllt i fältet, och något annat om inget har fylts i.

Har testat med count, med is_array och alla möjligt funktioner, men det verkar som arrayen skapas utan att man fyller i något.

Någon som vet?

// Nippe

Medlem sedan mars 20032 667 inlägg
#2

Inte testat detta, men eftersom den lär börja på index 0 så bör det finnas ett värde om index 0 existerar.

array_key_exists( 0, $myArray)

Annars kan du göra en fullösning. Gör det till en sträng och kolla längden på strängen.

$foo = $_POST['option'];
$string = implode( ",", $foo );

if ( strlen( trim( $string ) ) > 2 ) {

    // något ifyllt

}
Medlem sedan mars 20032 667 inlägg
#3

Kom på nu, du ville kanske kolla om alla fält var ifyllda?

Medlem sedan apr. 2002830 inlägg
#4

ska testa! Tror dock inte att array_key_exist kommer att fungera eftersom den tror att det finns värden i arrayen eftersom jag skickar den via ett formulär som en array. (svårt att skriva idag ;))
Skulle kanske kunna köra:

if (strlen(trim(implode(",",$_POST['option']))) > 2)

Ska testa lite...

Medlem sedan apr. 2002830 inlägg
#5

Jao, det var att fältet var ifyllda jag ville kolla ;)

Medlem sedan aug. 20002 975 inlägg
#6
$count = 0;
foreach ($_POST['option'] as $val) {
   if (trim($val) != '') $count++;
}

Nu innehåller variabel $count antalet ifyllda fält.

Medlem sedan apr. 2002830 inlägg
#7

Jag använde mig av Mattes kod och det funkade fint. Men det verkar som någon pekare eller nåt ställer sig i slutet av variabeln $_POST['option'] eftersom jag inte kan bearbete datan i den efter jag kört Mattes kod. Någon som vet?

Medlem sedan apr. 2002830 inlägg
#8

Fixade själv, var bara att köra en reset($_POST['option']) så hoppade pekarna tillbaka!

/Nippe

283 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
142 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
143 ms — ändringar (db)