by Guest » 31 Dec 2024, 15:58
Ich habe zwei Zeilen in MySQL und diese Abfragen:
Code: Select all
SELECT * FROM `fruits_colors` WHERE `name` = "default"
SELECT * FROM `fruits_colors` WHERE `name` = "example"
Ich bekomme:
Code: Select all
//result from first query
$default_row = array(
'banana' => 'yellow',
'apple' => 'red',
'grape' => 'green',
'blueberry' => 'blue'
'raspberry' => 'red'
);
//result from second query
$example_row = array(
'banana' => 'yellow',
'apple' => 'GREEN',
'grape' => '',
'blueberry' => 'blue'
'raspberry' => ''
);
So, jetzt möchte ich alle leeren Werte von $example_row mit Standardwerten ($default_row) füllen, aber nicht die nicht leeren ersetzen. Also sollte ich bekommen:
Code: Select all
$example_row = array(
'banana' => 'yellow',
'apple' => 'GREEN', // keep original from this array
'grape' => 'green', // filled from $default_row
'blueberry' => 'blue'
'raspberry' => 'red'// filled from $default_row
);
Ich weiß, dass ich foreach mit $example_row erstellen, jeden Schlüssel überprüfen und, wenn der Wert leer ist, mit einem Wert aus einem anderen Array festlegen kann. Aber gibt es eine elegantere, kürzere Möglichkeit, dies zu tun?
- Kann ich diese Arrays mit einer integrierten PHP-Funktion verbinden?
Vielleicht kann ich das direkt in einer SQL-Abfrage machen?
Grüße
Ich habe zwei Zeilen in MySQL und diese Abfragen:
[code]SELECT * FROM `fruits_colors` WHERE `name` = "default"
SELECT * FROM `fruits_colors` WHERE `name` = "example"
[/code]
Ich bekomme:
[code]//result from first query
$default_row = array(
'banana' => 'yellow',
'apple' => 'red',
'grape' => 'green',
'blueberry' => 'blue'
'raspberry' => 'red'
);
//result from second query
$example_row = array(
'banana' => 'yellow',
'apple' => 'GREEN',
'grape' => '',
'blueberry' => 'blue'
'raspberry' => ''
);
[/code]
So, jetzt möchte ich alle leeren Werte von $example_row mit Standardwerten ($default_row) füllen, aber nicht die nicht leeren ersetzen. Also sollte ich bekommen:
[code]$example_row = array(
'banana' => 'yellow',
'apple' => 'GREEN', // keep original from this array
'grape' => 'green', // filled from $default_row
'blueberry' => 'blue'
'raspberry' => 'red'// filled from $default_row
);
[/code]
Ich weiß, dass ich foreach mit $example_row erstellen, jeden Schlüssel überprüfen und, wenn der Wert leer ist, mit einem Wert aus einem anderen Array festlegen kann. Aber gibt es eine elegantere, kürzere Möglichkeit, dies zu tun?
[list]
[*]Kann ich diese Arrays mit einer integrierten PHP-Funktion verbinden?
Vielleicht kann ich das direkt in einer SQL-Abfrage machen?
[/list]
Grüße