我有一个数组:
$arr_nav = array( array( "id" => "apple",
"url" => "apple.html",
"name" => "My Apple"
),
array( "id" => "orange",
"url" => "orange/oranges.html",
"name" => "View All Oranges",
),
array( "id" => "pear",
"url" => "pear.html",
"name" => "A Pear"
)
);
Run Code Online (Sandbox Code Playgroud)
我想使用foreach循环替换(只允许我设置数字:
for ($row = 0; $row < 5; $row++)
Run Code Online (Sandbox Code Playgroud)
能够显示相关数组值的类.first和.last类
编辑
我想将数据回显为:
<li id="' . $arr_nav[$row]["id"] . '"><a href="' . $v_url_root . $arr_nav[$row]["url"] . '" title="' . $arr_nav[$row]["name"] . '">"' . $arr_nav[$row]["name"] . '</a></li>' …Run Code Online (Sandbox Code Playgroud) 我使用foreach循环来回显我的数据库中的一些值,如果有意义,我需要从最后一个循环中删除最后一个逗号.
我的循环很简单,如下所示
foreach($results as $result){
echo $result->name.',';
}
Run Code Online (Sandbox Code Playgroud)
哪个回声
result,result,result,result,
Run Code Online (Sandbox Code Playgroud)
我只需要杀掉那个讨厌的最后一个逗号.
任何帮助都会很棒:)
干杯
foreach( $tabs2 as $tab2 => $name ){
$class = ( $tab2 == $current ) ? ' current' : '';
echo("<li class='posts'><a href='?page=pigg&tab=help&tab2=$tab2' class='$class'>$name");
echo(' |'); // If array last then do not display
echo('</a></li>');
}
Run Code Online (Sandbox Code Playgroud)
我正在使用foreach循环为我正在处理的WordPress插件创建导航,但我不想要'|' 为了显示最后一个元素,上面的代码是我到目前为止所做的,我想在注释行上使用if语句,但不确定最好的方法是什么,任何想法?谢谢!
很容易,但我找不到答案.
我想列出子类别以在下面的代码中创建选项卡.这个在我的输出中正常工作.但是第一个标签需要<li class= "selected" >在页面加载时显示内容.
如何强制第一个echo结果在<li>元素上包含一个类?
.
.
.
[输出]
实际:..........第1类| 第2类| 第3类
需要:..........第1类*| 第2类| 第3类
*类="选择"
<ul class="cd-tabs-navigation">
<?php
$argumentos = array(
'hide_empty' => 1,
'child_of' => 44,
);
$categories = get_categories($argumentos);
foreach($categories as $category) {
echo '<li><a data-content="' . $category->slug . '" href="#' . $category->slug . '">' . $category->name . '</a></li>';
}
?>
</ul>
Run Code Online (Sandbox Code Playgroud)
.
.
[编辑]
Lal的解决方案.谢谢大家!
foreach($categories as $category) {
if(++$i==1)
echo '<li class="selected"><a class="selected" data-content="' . $category->slug . '" href="#' . …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用基于存储在数据库中的内容的内容填充我的网页.但是,我想跳过第一项; 我想从第二个项目开始循环.
我怎样才能做到这一点?
@foreach($aboutcontent as $about)
<div class="col-md-4 text-center">
<div class="thumbnail">
<img id="" class="img-responsive" src="images/{{ $about->aboutimg }}" alt="">
<div class="caption">
<h3>{{ $about->aboutname }}</h3>
<p>{{ $about->aboutinfo }}</p>
</div>
</div>
</div>
@endforeach
Run Code Online (Sandbox Code Playgroud) 这有点类似于问题:如何确定 foreach 循环中的第一次和最后一次迭代?,然而,这个 10 岁以上的问题是非常array面向的,没有一个答案与可以循环许多不同类型的事实相兼容。
鉴于一些循环,可以迭代在PHP> = 7.4(数组,迭代器,发电机,PDOStatement,DatePeriod,对象的属性,......),我们怎么可以触发,以高效的方式,代码需要发生前/后循环,但仅在进入循环的情况下?
一个典型的用例可能是生成 HTML 列表:
<ul>
<li>...</li>
<li>...</li>
...
</ul>
Run Code Online (Sandbox Code Playgroud)
<ul>并且只有在有一些元素时才</ul>必须打印。
这些是我目前发现的限制:
empty(): 不能用于生成器/迭代器。each(): 已弃用。iterator_to_array() 打败了发电机的优势。以下代码片段总结了我们可以迭代的许多不同类型foreach,它可以作为提供答案的开始:
<?php
// Function that iterates on $iterable
function iterateOverIt($iterable) {
// How to generate the "<ul>"?
foreach ($iterable as …Run Code Online (Sandbox Code Playgroud) 确定foreach循环位于最终循环中并相应执行不同功能的最佳方法是什么?
我已经设置了一个小脚本来显示和隐藏div ..
$('.message-head').click(function () {
$('.message-preview').toggle('slow');
});
Run Code Online (Sandbox Code Playgroud)
尽可能完美地工作.我的问题是我在页面上有多个html标记实例,它位于foreach循环中.
<div class="two-three-col message-head">
<h4>@message.Subject</h4>
<div class="message-preview">
@Html.Raw(@message.Body)
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这基本上是针对一个已被切断和更改的消息传递系统,并由我来解决; 不是最好的javascript我很困惑.那么我怎样才能修改js,这样如果我点击说消息1,那么只有消息1会在点击时显示/隐藏,其余的将保持不活动状态.
提前致谢
每当我必须确定 foreach 循环中的当前循环是否是最后一个循环时,我会使用以下方法:
<?php
$i = count($myArray);
foreach ($myArray as $item) {
/** code goes here... */
$i--;
if ($i == 0) {
/** something happens here */
}
}
?>
Run Code Online (Sandbox Code Playgroud)
通常,这可以通过知道循环变量(first、last、...)在模板系统(例如 Latte、Smarty 等)中轻松完成。我的问题是:PHP 中是否有类似的功能?
关键是你必须创建$i变量,然后增加它并检查值。我只是想知道是否有更简单的解决方案可以让我的生活更轻松一些。:)
我的代码中有一个for循环:
$d = count( $v2['field_titles'] );
for( $i=0; $i < $d; $i++ ) {
$current = 3 + $i;
echo 'current is' . $current;
}
Run Code Online (Sandbox Code Playgroud)
如果我不知道 的确切数量,我如何知道最后一次迭代$d?
我想做类似的事情:
$d = count( $v2['field_titles'] );
for( $i=0; $i < $d; $i++ ) {
$current = 3 + $i;
if( this is the last iteration ) {
echo 'current is ' . $current;
// add sth special to the output
}
else {
echo 'current is ' . $current; …Run Code Online (Sandbox Code Playgroud)