【问题标题】:PHP Print array with specific wordPHP打印带有特定单词的数组
【发布时间】:2017-09-05 07:47:44
【问题描述】:

我有多维数组

    array (Test1, 10)
    array (Quiz1, 5)
    array (Test2, 5)
    array (Quiz2, 10)

我将该数组打印到表格中。

Test1 | Quiz1 | Test2 | Quiz2
:---- | ----: | :---- | ----:
10    | 5     | 5     | 10

我想如何打印只显示包含单词“Test”的数组?

结果

Test1 | Test2 | 
:---- | :---- | 
 10   | 5     | 

我的代码只对数组进行排序:

$quiz_ids = et_curriculum_quizes($course_id);
       // Sort Quiz By Alphabet 
                sort($quiz_ids);
                $tlength = count($quiz_ids);
                for($x = 0; $x < $tlength; $x++);

输出:

    Test1 | Test2 | Quiz1 | Quiz2
    :---- | ----: | :---- | ----:
    10    | 5     | 5     | 10

这是表头的代码:

 foreach($quiz_ids as $quiz_id){
 echo '<th><a href="'.get_permalink($quiz_id).'" target="_blank">'.get_the_title($quiz_id). ('</a></th>';  

更新

我的代码显示值

 <?php
      foreach($quiz_ids as $quiz_id){
                        echo '<td>'.get_post_meta($quiz_id,$member_id,true).'</td>';
                    }


                $sum=0;           
                $status = bp_course_get_user_course_status($member_id,$course_id);
                if($status > 3){
                    $marks = get_post_meta($course_id,$member_id, true);
                    $sum += $marks;
                    echo '<td>'.$marks.'</td>';    
                }else{
                    echo '<td>'._x('N.A','Marks not available in batch statisitcs leaderboard','wplms-batches').'</td>';
                }
                echo '</tr>';
                $i++;

我放 var_dump 时的输出 我有 8 个测试和 8 个测验

array(16) { 
[0]=> string(3) "570" 
[1]=> string(3) "775" 
[2]=> string(3) "779" 
[3]=> string(3) "781" 
[4]=> string(3) "783" 
[5]=> string(3) "785" 
[6]=> string(3) "787" 
[7]=> string(3) "789" 
[8]=> string(3) "818" 
[9]=> string(3) "885" 
[10]=> string(3) "887" 
[11]=> string(3) "895" 
[12]=> string(3) "911" 
[13]=> string(3) "971" 
[14]=> string(3) "985" 
[15]=> string(3) "987" } 

【问题讨论】:

  • 这个数组是在哪里生成的?数据库?文件? api?也许事先省略不需要的子数组。
  • This Code For Table Header =>好的,那么价值观呢?
  • @AlivetoDie 你为什么删除你的答案?虽然 认为这是一个重复的问题,但您的回答显示出比 Andreas 更好的做法。如果这个问题没有结束,未来的读者应该学习你的方法。
  • @mickmackusa 因为我无法将我的答案代码合并到 OP 的给定代码中。因此,如果我自己无法做到这一点。我认为 OP 做不到。

标签: php arrays html-table


【解决方案1】:

在您的 foreach 中,您可以使用 Substr 将值与“测试”匹配。
Substr 将只取单词的开头,因此像“QuizTest”这样的值不会返回 true。

Foreach($quiz_ids as $subarray){
    If(Substr($subarray[0], 0,4) == "Test") echo  $subarray[0] . " " . $subarray[1];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    相关资源
    最近更新 更多