Laravel 5.2 foreach assoziatives array in key-return-index
Habe ich in diesem Stück oh-code:
<?php
$levels = array( "0" => "Super User", "1" => "Administrator", "10" => "10", "20" => 20, "30" => "30", "40" => "40", "50" => "50", "99" => "99 News homepage" );
?>
<select name="level" id="modify_modal_level">
@foreach( $levels as $key => $val )
<option value="{{ $key }}" <?php echo $selected==$key ? 'selected="selected"': ""?>>{{ $val }}</option>
@endforeach
</select>
Warum die $ - Taste im inneren foreach return der INDEX des Arrays?
Beispiel:
@foreach( $levels as $key => $val )
{{ $key }},
@endforeach
druckt:
1,2,3,4,5,6,7,8,
statt:
'0','1','10','20','30','40','50','99'
aber die foreach-Schleife, in der $key variable MUSS den Schlüssel zurück, den Wert des assoziativen Arrays, das der key nicht index!
meine select-Ergebnisse:
<select name="level" id="modify_modal_level">
<option value="1">Super User</option>
<option value="2">Administrator</option>
<option value="3">10</option>
...
<option value="8">99 News homepage</option>
</select>
statt:
<select name="level" id="modify_modal_level">
<option value="0">Super User</option>
<option value="1">Administrator</option>
<option value="10">10</option>
...
<option value="99">99 News homepage</option>
</select>
Dank!!
- Es ist schwer zu verstehen, was Sie bekommen und was Sie wollen. Können Sie das klären?
- Ich habe gerade ausgeführt, Ihre bereitgestellten code und erhalten Sie die 0, 1, 10 Indexschlüssel wie erwartet. Sind Sie sicher, dass Ihre
$levels
variable enthält die Daten, die Sie denken enthalten? - Wenn Sie wollen, was Sie unter "Beispiel", dann entfernen Sie einfach den Schlüssel in Ihren
$levels
array. - es sieht aus wie Sie wollen, was unter "statt"...glaube ich. Aber das ist, was Sie erhalten würden, mit der Klinge zur Verfügung gestellt...so, jetzt bin ich mir nicht so sicher.
- ich habe versucht zu klären, aktualisieren der main-post!!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code funktioniert, wie Sie es jetzt haben; sind Sie sicher, dass
$levels
wird korrekt generiert, als du zeigst es hier?Controller
yourview.blade.php
Beachten Sie, dass ich auch aktualisiert
@if
Blade-syntax, da es viel sauberer und leichter zu Lesen.Beim Zugriff auf die Ansicht, bekomme ich dieses Ergebnis:
$levels
als das array oben zu sehen ist, dann sollte es noch funktionieren. Haben Sie versuchtvar_dump()
oderdd()
auf$levels
zur Bestätigung des index sind richtig?