Loops 细枝递归菜单
我有这张桌子Loops 细枝递归菜单,loops,frameworks,twig,slim,Loops,Frameworks,Twig,Slim,我有这张桌子 id | Type_number | Number 1 fax 01234 2 mobile 789-123 3 phone 000-555 4 fax 022354 5 phone 000-687 我需要按类型分组,并按类型列出分组中的号码 示例 FAX 01234 022354 mobile 789-123 phone 000-555 000-687 如果
id | Type_number | Number
1 fax 01234
2 mobile 789-123
3 phone 000-555
4 fax 022354
5 phone 000-687
我需要按类型分组,并按类型列出分组中的号码
示例
FAX
01234
022354
mobile
789-123
phone
000-555
000-687
如果我有此代码的密码:
<div class="colour_container">
{% for rec in list_number if rec.type == "fax" %}
{{ rec.type_number }} {{ rec.number }}
{% endfor %}
</div>
<div class="colour_container">
{% for rec in list_number if rec.type == "phone" %}
{{ rec.type_number }} {{ rec.number }}
{% endfor %}
</div>
{如果rec.type==“fax”%}
{{rec.type_number}{{rec.number}}
{%endfor%}
{如果rec.type==“phone”%}
{{rec.type_number}{{rec.number}}
{%endfor%}
循环“for”功能仅适用于第二个编号中的第一个循环“fax”。
为什么?这对我很有效。试试这个例子 index.php
<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim(array(
'view' => new \Slim\Views\Twig()
));
$view = $app->view();
$view->parserExtensions = array(
new \Slim\Views\TwigExtension()
);
$view->parserOptions = array(
'debug' => true
);
$menu = array(
array(
"id" => 1,
"type" => "fax",
"number" => "01234"
),
array(
"id" => 2,
"type" => "mobile",
"number" => "789-123"
),
array(
"id" => 3,
"type" => "phone",
"number" => "000-555"
),
array(
"id" => 4,
"type" => "fax",
"number" => "022354"
),
array(
"id" => 5,
"type" => "phone",
"number" => "000-687"
)
);
$app->get('/', function () use($app, $menu) {
$app->render('index.twig', array(
'list_number' => $menu,
'types' => array("fax", "mobile", "phone")
));
});
$app->run();
它对我很有用。试试这个例子
index.php
<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim(array(
'view' => new \Slim\Views\Twig()
));
$view = $app->view();
$view->parserExtensions = array(
new \Slim\Views\TwigExtension()
);
$view->parserOptions = array(
'debug' => true
);
$menu = array(
array(
"id" => 1,
"type" => "fax",
"number" => "01234"
),
array(
"id" => 2,
"type" => "mobile",
"number" => "789-123"
),
array(
"id" => 3,
"type" => "phone",
"number" => "000-555"
),
array(
"id" => 4,
"type" => "fax",
"number" => "022354"
),
array(
"id" => 5,
"type" => "phone",
"number" => "000-687"
)
);
$app->get('/', function () use($app, $menu) {
$app->render('index.twig', array(
'list_number' => $menu,
'types' => array("fax", "mobile", "phone")
));
});
$app->run();
在将rec
数组传递到模板之前,是否可以尝试在PHP中转储该数组?您可以使用print\r($rec)
输出数组的原始内容。在将rec
数组传递到模板之前,是否可以尝试在PHP中转储该数组?您可以使用print\r($rec)
输出数组的原始内容。在将rec
数组传递到模板之前,是否可以尝试在PHP中转储该数组?您可以使用print\r($rec)
输出数组的原始内容。它仅用于第一个循环。(第一种)@Simsar78我刚刚试过,它工作正常。你有两个版本1-2吗?我使用1.1版,因为我没有php7@Simsar78在本例中,我使用的是PHP5.6和Twig1.*。也许可以更容易地就您面临的问题创建另一个问题,包括您正在使用的软件包的版本和环境。这只是第一个循环的功能。(第一种)@Simsar78我刚刚试过,它工作正常。你有两个版本1-2吗?我使用1.1版,因为我没有php7@Simsar78在本例中,我使用的是PHP5.6和Twig1.*。也许可以更容易地就您面临的问题创建另一个问题,包括您正在使用的软件包的版本和环境。这只是第一个循环的功能。(第一种)@Simsar78我刚刚试过,它工作正常。你有两个版本1-2吗?我使用1.1版,因为我没有php7@Simsar78在本例中,我使用的是PHP5.6和Twig1.*。也许可以更容易地就您面临的问题创建另一个问题,包括您正在使用的软件包版本和环境。