Php Laravel 5.2键返回索引中的每个关联数组

Php Laravel 5.2键返回索引中的每个关联数组,php,laravel,foreach,laravel-5,Php,Laravel,Foreach,Laravel 5,我有一段代码: <?php $levels = array( "0" => "Super User", "1" => "Administrator", "10" => "10", "20" => 20, "30" => "30", "40" =>

我有一段代码:

<?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>
打印出: 1,2,3,4,5,6,7,8

而不是: “0”、“1”、“10”、“20”、“30”、“40”、“50”、“99”

但是$key变量中的foreach循环必须返回关联数组的键值,而不是键索引

我选择的结果:

<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>

超级用户
管理员
10
...
99新闻网页
而不是:

<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>

超级用户
管理员
10
...
99新闻网页

谢谢

您的代码将像现在一样工作;您确定在此处显示时正确生成了
$levels

控制器

$levels = [
    0 => "Super User",
    1 => "Administrator",
    10 => 10,
    20 => 20,
    30 => 30,
    40 => 40,
    50 => 50,
    99 => "99 News homepage",
];

return view('yourview', [
    'levels' => $levels,
    'selected' => '99'
]);
yourview.blade.php

<select name="level" id="modify_modal_level">
    @foreach ($levels as $key => $value)
        <option value="{{ $key }}" @if ($selected == $key) selected @endif>{{ $value }}</option>
    @endforeach
    {{-- $key will be 0, 1, 10, 20, 30, 40, 50, 99 --}}
    {{-- $value will be "Super User", "Administrator", 10, 20, 30, 40, 50, "99 News homepage" --}}
</select>

@foreach($key=>$value的级别)
{{$value}}
@endforeach
{--$key将是0、1、10、20、30、40、50、99--}
{--$value将是“超级用户”、“管理员”、10、20、30、40、50、“99新闻主页”}
注意,我还更新了使用
@if
Blade语法,因为它更简洁易读

访问视图时,我返回以下内容:


很难理解你得到了什么和你想要什么。你能澄清一下吗?我刚刚执行了你提供的代码,并按预期收到了0、1、10个索引键。您确定您的
$levels
变量包含您认为它包含的数据吗?如果您想要“示例”下的数据,只需删除
$levels
数组中的键即可。@PatrickStephan看起来他们想要的是“示例”下的数据,而不是“…我认为”。然而,这是他们将得到的刀片提供…所以现在我不太确定。我已经试图澄清更新的主要职位!!代码都在一个include文件中,用@include(..)加载。数组在include中初始化!!这不应该有什么区别。我只是使用了控制器,因为这是我定义布局的方式。如果按照上面显示的数组加载
$levels
,那么它仍然可以工作。您是否在
$levels
上尝试了
var\u dump()
dd()
以确认索引是否正确?已解决!!我已经使用“正常”的php foreach和所有的作品罚款!!
<select name="level" id="modify_modal_level">
    @foreach ($levels as $key => $value)
        <option value="{{ $key }}" @if ($selected == $key) selected @endif>{{ $value }}</option>
    @endforeach
    {{-- $key will be 0, 1, 10, 20, 30, 40, 50, 99 --}}
    {{-- $value will be "Super User", "Administrator", 10, 20, 30, 40, 50, "99 News homepage" --}}
</select>