2016-01-31 2 views
-7

Я изучаю php, и я хочу знать, как итерации в двух массивах в одном и том же цикле? Это код, который у меня есть, строка 8 - строка 14, например, но он дает массив вместо элемента, что делать? пожалуйста, будьте легко на меня, я все еще новичок в этой области.Итерация в двух массивах в том же для цикла

<tr> 
<td><?php echo $val->title ?></td> 
<td><?php echo $val->content?></td> 
<td><?php echo $val->owner ?></td> 
<?php } ?> 

<?php 
foreach ($users as $val) { 
?> 
<td><?php echo str_replace("-", "%", $val->email) ?></td> 
<?php }?> 
<?php foreach ($maincat as $val) {?> 
<td><?php echo str_replace("-","%",$val->maincat_name) ?></td> 
<?php }?> 

<?php foreach ($category as $val) {?> 
<td><?php echo str_replace("-","%",$val->category_name) ?></td> 
<?php }?> 

<?php foreach ($sub_category as $val) {?> 
<td><?php echo str_replace("-","%",$val->sub_category_name) ?></td> 
<?php }?> 

<?php foreach ($sub_sub_category as $val) {?> 
<td><?php echo str_replace("-","%",$val->sub_sub_category_name) ?></td> 
<?php }?> 

</tr> 

На этом изображении, это дает целые клетки

enter image description here

вместо двух ячеек {[email protected] and email2}, я хочу, чтобы клетка [email protected] находиться в нижней части а другой один * электронная почта * 2 выше.

Это не HTML вопрос, при переборе, Я хочу, чтобы первое значение быть [email protected], а другой итерации дать email2

может кто-нибудь помочь?

EDIT:

это, как я определить пользователей

$data['users'] = $this->model->join_users($table)->result(); 
+3

Непонятно, что вы хотите сделать. Пожалуйста, укажите желаемый результат, основанный на примере ввода. – trincot

+5

Вы не можете одновременно перебирать 2 массива. Вам либо нужно объединить их, либо вам нужно перебрать один массив и искать другое для правильного значения –

+1

на этом изображении, оно дает целые ячейки http://www.pasteall.org/pic/show.php?id=98538 ,,,,, вместо двух ячеек {[email protected] и email2}, я хочу, чтобы ячейка [email protected] была внизу, а другая электронная почта2 была выше, это не вопрос html, i означает, что при итератизации я хочу, чтобы первое значение было [email protected], а другая итерация дала email2 – DeyaEldeen

ответ

5

Я не знаю, это то, что вы ищете?

Я использовал пару Shorthands, таких как <?=

заменить <?php echo и используя foreach(...) : endforeach;

<?php $i = 0; ?> 
<?php foreach ($users as $val) : ?> 
    <td><?= str_replace("-", "%", $val->email) ?></td> 
    <td><?= str_replace("-", "%", $maincat[$i]->maincat_name) ?></td> 
    <td><?= str_replace("-", "%", $category[$i]->category_name) ?></td> 
    <td><?= str_replace("-", "%", $sub_category[$i]->sub_category_name) ?></td> 
    <td><?= str_replace("-", "%", $sub_sub_category[$i]->sub_sub_category_name) ?></td> 
    <?php $i++; ?> 
<?php endforeach; ?> 
-3

Я изменил код надеюсь, поможет ...!

<?php 
echo "hello wolrd"; 
echo "<br/>"; 
echo "This is my first repo"; 
echo "first commit from php storm1"; 
echo "good moring"; 
?> 
<tr> 
    <td><?php echo $val->title ?></td> 
    <td><?php echo $val->content?></td> 
    <td><?php echo $val->owner ?></td> 
    <?=custom_iteration($users,'email') ?> 
    <?=custom_iteration($maincat,'maincat_name') ?> 
    <?=custom_iteration($category,'category_name') ?> 
    <?=custom_iteration($sub_category,'sub_category_name') ?> 
    <?=custom_iteration($sub_sub_category,'sub_sub_category_name') ?> 
<tr/> 
<?php 

function custom_iteration($masterArray,$field){ 
    $mrgTD = ''; 
    foreach($masetArray as $val){ 
     $mrgTD .= "<td>". str_replace("-", "%", $val->email)."<td/>"; 
    } 
    return $mrgTD; 
} 
?> 
+3

, пожалуйста, добавьте краткое объяснение, почему это поможет OP –

+0

-изменить код и итерацию, отличную от полей с единственным именем функции –

0
результат (а) в $ тзд):> db-> выберите ("имя, фамилия, ми") -> от ("tb_employee") -> где ("employee_id", $ msg->? отправитель) -> получить(); ?>
    <a href=<?php echo base_url() ."mainx/show_msg_id/". $msg->msg_id; ?> > 
           <?php foreach($s->result() as $t):?>    
         <div> 
          <strong><?php echo $t->lastname . ' ' . $t->firstname;?></strong>        
          <span class="pull-right text-muted"> 
           <em><?php echo date('m/d/Y H:i:s' ,$msg->timestamp); ?></em> 
          </span> 
         </div> 
         <div><?php echo $msg->message;?></div> 
        </a> 
        <?php endforeach; ?> 
       <?php endforeach; ?> 

Что мне делать в моем примере, что я петля для Еогеаспа. В моем первом цикле имя сотрудника и промежуточный цикл моего сотрудника - это цикл foreach сообщения.

Смежные вопросы