相关疑难解决方法(0)

PHP foreach循环遍历多维数组

我有一个数组:

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

php arrays loops multidimensional-array

30
推荐指数
2
解决办法
17万
查看次数

从foreach循环中删除最后一个逗号

我使用foreach循环来回显我的数据库中的一些值,如果有意义,我需要从最后一个循环中删除最后一个逗号.

我的循环很简单,如下所示

foreach($results as $result){
  echo $result->name.',';
}
Run Code Online (Sandbox Code Playgroud)

哪个回声

result,result,result,result,
Run Code Online (Sandbox Code Playgroud)

我只需要杀掉那个讨厌的最后一个逗号.

任何帮助都会很棒:)

干杯

php

22
推荐指数
4
解决办法
4万
查看次数

PHP Foreach如果数组最后

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语句,但不确定最好的方法是什么,任何想法?谢谢!

php arrays foreach if-statement

19
推荐指数
1
解决办法
5万
查看次数

如何在PHP中更改第一个echo结果的类?

很容易,但我找不到答案.

我想列出子类别以在下面的代码中创建选项卡.这个在我的输出中正常工作.但是第一个标签需要<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)

html php wordpress class echo

5
推荐指数
1
解决办法
128
查看次数

如何在Laravel的foreach循环中跳过第一项?

我正在尝试使用基于存储在数据库中的内容的内容填充我的网页.但是,我想跳过第一项; 我想从第二个项目开始循环.

我怎样才能做到这一点?

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

php blade laravel-5.1

5
推荐指数
2
解决办法
8015
查看次数

如何在 foreach 循环之前/之后触发代码,仅当在 PHP 7.4+ 中以有效方式输入此循环?

这有点类似于问题:如何确定 foreach 循环中的第一次和最后一次迭代?,然而,这个 10 岁以上的问题是非常array面向的,没有一个答案与可以循环许多不同类型的事实相兼容。

鉴于一些循环,可以迭代在PHP> = 7.4(数组,迭代器,发电机,PDOStatementDatePeriod,对象的属性,......),我们怎么可以触发,以高效的方式,代码需要发生前/后循环,但仅在进入循环的情况下

一个典型的用例可能是生成 HTML 列表:

<ul>
  <li>...</li>
  <li>...</li>
  ...
</ul>
Run Code Online (Sandbox Code Playgroud)

<ul>并且只有在有一些元素时才</ul>必须打印。

这些是我目前发现的限制:

  1. empty(): 不能用于生成器/迭代器
  2. each(): 已弃用。
  3. iterator_to_array() 打败了发电机的优势。
  4. 在循环内部和循环之后测试的布尔标志不被认为是有效的,因为它会导致该测试在每次迭代时执行,而不是在循环开始和结束时执行一次。
  5. 虽然在上面的示例中可以使用输出缓冲或字符串连接来生成输出,但它不适合循环不产生任何输出的情况。(感谢@barmar的额外想法)

以下代码片段总结了我们可以迭代的许多不同类型foreach,它可以作为提供答案的开始:

<?php

// Function that iterates on $iterable
function iterateOverIt($iterable) {
    // How to generate the "<ul>"?
    foreach ($iterable as …
Run Code Online (Sandbox Code Playgroud)

php foreach loops iterable php-7.4

5
推荐指数
1
解决办法
468
查看次数

确定foreach循环是否在其最终迭代中的最简单方法

可能重复:
如何确定foreach循环中的第一个和最后一个迭代?

确定foreach循环位于最终循环中并相应执行不同功能的最佳方法是什么?

php foreach loops

4
推荐指数
1
解决办法
399
查看次数

使用Javascript显示和隐藏消息

我已经设置了一个小脚本来显示和隐藏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会在点击时显示/隐藏,其余的将保持不活动状态.

提前致谢

html javascript css jquery

4
推荐指数
1
解决办法
764
查看次数

PHP - 确定 foreach 中最后一个循环的有效方法

每当我必须确定 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变量,然后增加它并检查值。我只是想知道是否有更简单的解决方案可以让我的生活更轻松一些。:)

php foreach loops

3
推荐指数
1
解决办法
1万
查看次数

我如何知道 for 循环的最后一次迭代?

我的代码中有一个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)

php for-loop

2
推荐指数
1
解决办法
6612
查看次数