Hur ser din kod ut för att hämta ut datat från MySQL? Använder du PDO eller mysqli? Eller använder du de gamla mysql-funktionerna? Om du använder PDO eller mysqli så finns det inbyggda metoder för att hämta alla rader ur ett resultat (PDOStatement::fetchAll respektive mysqli_result::fetch_all). Använder du de gamla mysql-funktionerna loopar du igenom resultaten och lägger till varje rad i arrayen.
Exempel PDO
// Här behövs kod för att definiera $pdo...
$stmt = $pdo->prepare('SELECT * FROM table WHERE column=?');
if ($rows = $stmt->execute(array('some value')) {
$array = $rows->fetchAll();
}
print_r($array);
Exempel mysqli
// Här behövs kod för att definiera $mysql...
if ($result = mysqli->query('SELECT * FROM table')) {
$array = $result->fetch_all();
}
print_r($array);
Exempel med de gamla mysql-funktionerna
// Här behövs kod för att ansluta till databasen...
$result = mysql_query('SELECT * FROM table');
$array = array();
while ($row = mysql_fetch_assoc($result)) {
$array[] = $row;
}
print_r($array);
Jag tycker att den ser ut att vara i exakt samma format som du skrev i första inlägget förutom att du inte har tagit med alla nycklar i dimension 2 i arrayen. Du har också valt att lägga in heltal istället för strängar som värden i index 'name'.
Du behöver inte göra någonting, om $text innehåller en sträng så kommer det att bli en sträng i arrayen. Om $text innehåller ett heltal så blir det ett heltal i arrayen.
Du behöver inte göra någonting, om $text innehåller en sträng så kommer det att bli en sträng i arrayen. Om $text innehåller ett heltal så blir det ett heltal i arrayen.
Jag brukar inte våga lite på att den automagiska typecastingen fungerar som jag tänkt. Om man är osäker kan man alltid se ifall det är ett numeriskt värde i en textsträng med is_numeric() och om det visar sig vara det kan man casta om den manuellt med (int) $text.