Avatar billede signing Nybegynder
13. januar 2009 - 15:07 Der er 3 kommentarer

Dynamisk Array

Goddag. Jeg er ny til arrays og har et spørgsmål.
Hvis jeg nu vil indsætte flere felter i et array.. og det ikke
skal gøres manuelt. Så skal mit array selv kunne udvide sig.
så næste gang en bruger vælger noget så kommer det automatisk
ind i næste række i mit array.
Nogen forslag til teknikken?
Jeg har forsøgt med denne men der overskriver den jo bare $i
og derfor indsætter den ikke en ny række

$pointer = 0;
$kasse[$pointer] = $brugerinput;
$pointer++;

Resultatet skal være at brugeren skriver i et felt.
Så trykker brugeren på submit
Og så bliver det brugeren har skrevet sat ind i arrayet.
og hvis brugeren indtaster noget i feltet igen
og brugeren trykker submit
så bliver det skrevet ind i NÆSTE række i arrayet.
Avatar billede jakobdo Ekspert
13. januar 2009 - 15:17 #1
Du kan tilføje dynamisk på følgende måde:

$input = array();
$input[] = 'Noget';

$input[] = 'Andet';

Du kan evt. gemme $input i sessions.
Avatar billede signing Nybegynder
13. januar 2009 - 20:30 #2
Hmm jeg tror ikke jeg fik forklaret 100% hvad jeg mente.
Hvergang et brugerinput er blevet submittet skal dataene selv gå ind på sin egen række
som den selv opretter..

Det jeg viser i mit eksempel er at indekset af mit array bliver sat til at være tælleren.

og at når den har kørt igennem tælleren ($kasse[$pointer] = $brugerinput;)
så vil den automatisk hoppe videre til næste indhold i array'et ($pointer++)
Men det får tilsyneladene ikke array'et til at udvide sig automatisk.

Det som jeg forsøger er at lave et array der kan udvide sig automatisk.
Og aldså ikke et array med hardcodede værdier.
Avatar billede jakobdo Ekspert
13. januar 2009 - 21:12 #3
Nej, og det er netop det jeg forklarer...
Prøv at test følgende:

<?php
session_start();
if(isset($_SESSION['input']) && is_array($_SESSION['input']) && isset($_POST['mySubmit'])){
    $_SESSION['input'][] = $_POST['myData']
}else{
    $_SESSION['input'] = array();
}
?>
<html>
<head>
<title>Array Test</title>
</head>
<body>
<?php
if(isset($_SESSION['input']) && is_array($_SESSION['input'])){
    echo '<h1>Array</h1>';
    echo '<pre>';
    print_r($_SESSION['input']);
    echo '</pre>';
    echo '<hr />';
}
<form action="" method="post">
Input <input type="text" name="myData"><br />
<input type="submit" name="mySubmit" value="Test">
</form>
</body>
</html>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester