Array PHP shortcode
Ik heb een verkorte array PHP code maar wil deze graag naar de lange codering omzetten.
Door deze in de lange methode te zetten kan ik leren hoe dit precies werkt.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//deze shortcode wil ik graag in de lange versie zien
$output[$data['category']][] = $data['type'];
//dit is wat ik zelf dacht
$output = $data['category'] = array($data['type']);
?>
//deze shortcode wil ik graag in de lange versie zien
$output[$data['category']][] = $data['type'];
//dit is wat ik zelf dacht
$output = $data['category'] = array($data['type']);
?>
Gewijzigd op 19/02/2020 01:00:10 door Yoeri Achterbergen
Zoiets? Geen idee wat je wil aangezien het nergens op slaat zo ;-)
$output is blijkbaar al een array, want je gaat er iets aan toevoegen (maar waarschijnlijk maakt PHP 'm ook wel on-the-fly voor je aan ...)
$output[$data['category']] is al een key in deze array, met een array als waarde (want je gaat er iets aan toevoegen) (maar waarsc...).
En aan die array $output[$data['category']] voeg je dus een waarde $data['type'] toe.
Kortom: ik hoop dat hierboven iets staat van:
Code (php)
Behalve de initialisatie van de arrays valt hier dus weinig aan short/long notatie te veranderen.
Tenzij je die $array[] = $x notatie "niet mooi" vindt om een waarde toe te voegen. Dan zou je array_push($array,$x) kunnen gebruiken. Maar of het daar leesbaarder van wordt ...
Gewijzigd op 19/02/2020 13:01:55 door Rob Doemaarwat
Yoeri Achterbergen op 19/02/2020 00:59:23:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
//deze shortcode wil ik graag in de lange versie zien
$output[$data['category']][] = $data['type'];
//dit is wat ik zelf dacht
$output = $data['category'] = array($data['type']);
?>
//deze shortcode wil ik graag in de lange versie zien
$output[$data['category']][] = $data['type'];
//dit is wat ik zelf dacht
$output = $data['category'] = array($data['type']);
?>
Errr... Maar beide codesnippets doen compleet verschillende dingen?
En in het twee fragment wil je een array toekennen aan een waarde (i.p.v. een variabele), dat gaat waarschijnlijk ook niet werken. Plus je bent daar een hoop dingen aan het kopiëren zonder toegevoegde waarde.
Als je in $output typen wilt onderbrengen in categorieën dan heb je dat subarray nodig... je ontwerpt dit soort datastructuren op een zodanige manier dat alle data die je nodig hebt precies past, uitgebreider hoeft niet, simpeler kan niet.
Gewijzigd op 19/02/2020 15:42:10 door Thomas van den Heuvel
Gebruik ik de shortcode krijg ik alle data netjes in de array.
Hoe kan dit? Het zou toch het zelfde moeten zijn?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
while ($data = mysqli_fetch_assoc($result)) {
$output[$data['category']][] = $data['type'];
}
?>
while ($data = mysqli_fetch_assoc($result)) {
$output[$data['category']][] = $data['type'];
}
?>
Code (php)
Gewijzigd op 19/02/2020 21:05:11 door Yoeri Achterbergen
In de tweede snippet wordt elke stap van de loop $output overschreven.