如何数组列表转换没有。=在PHP? [英] How to convert array to list without .= in PHP?

查看:122
本文介绍了如何数组列表转换没有。=在PHP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的阵列输出。

 阵列

    [日] => 17
    [eventContent] => 17日的事件1
    [EVENTTITLE] => 17事件1
)排列

    [日] => 19
    [eventContent] => 19日的事件1
    [EVENTTITLE] => 19事件1
)排列

    [日] => 05
    [eventContent] => 5日的事件1
    [EVENTTITLE] => 5事件1
)排列

    [日] => 17
    [eventContent] => 17日事件2
    [EVENTTITLE] => 17日事件2
)排列

    [日] => 19
    [eventContent] => 19日事件2
    [EVENTTITLE] => 19事件2
)排列

    [日] => 19
    [eventContent] => 19日3时
    [EVENTTITLE] => 19日事件3

...
...

现在我想让它像如下。

例如对于19

 <立GT;
<跨度类=标题> 19事件1 ​​LT; / SPAN>
<跨度类=降序> 19&LT的事件1; / SPAN>
< /李>
<立GT;
<跨度类=标题> 19事件2'; / SPAN>
<跨度类=降序> 19&LT的事件2; / SPAN>
< /李>
<立GT;
<跨度类=标题> 19事件3'; / SPAN>
<跨度类=降序> 19&LT的事件3; / SPAN>
< /李>

我尝试以下。它工作在PHP罚款,但不是在codeigniter。所以,我希望有人能告诉我另一种方式来做到跟了出去。=

先谢谢了。

  $事件[INTVAL($ row_event->天)] ='<立GT;<跨度类=标题>'
.stripslashes($ row_event-> EVENTTITLE)。
'< / SPAN><跨度类=降序>'的stripslashes($ row_event-> eventContent)。
'< / SPAN>< /李>';

和下面是该模型的细节。

  $事件=阵列();//查询数据库为每月的第一个日期和最后一个月的日期之间的事件
// $结果= mysql_query(SELECT DATE_FORMAT(EVENTDATE,'%D')如白昼,eventContent,从EVENTTITLE WHERE eventcal EVENTDATE BETWEEN'$ CURRENT_YEAR / $ current_month / 01'和'$ CURRENT_YEAR / $ current_month / $ total_days_of_current_month' );$查询= $这个 - > DB->查询(SELECT DATE_FORMAT(EVENTDATE,'%D')如白昼,eventContent,EVENTTITLE FROM eventcal WHERE EVENTDATE BETWEEN'$ CURRENT_YEAR / $ current_month / 01'和'$ CURRENT_YEAR / $ current_month / $ total_days_of_current_month');
的foreach($查询 - > result_array()为$ row_event)
{$事件[INTVAL($ row_event ['天'])] ='<立GT;<跨度类=标题>'
.stripslashes($ row_event ['EVENTTITLE'])。'< / SPAN><跨度类=降序>'
.stripslashes($ row_event ['eventContent'])。'< / SPAN>< /李>';
...
...

- 更新 -

控制器

code这里

查看

code这里

错误

 遇到了PHP的错误严重性:通知消息:未定义抵消:17文件名:型号/ mcalendar_one.php行号:38排列

    [日] => 17
    [eventContent] => 17日的事件1
    [EVENTTITLE] => 17事件1
)遇到一个PHP错误严重性:通知消息:未定义抵消:19文件名:型号/ mcalendar_one.php行号:38排列

    [日] => 19
    [eventContent] => 19日的事件1
    [EVENTTITLE] => 19事件1

...
...


解决方案

这可以简化不少。首先,看看活动记录在CI的数据库类,它会让你的数据库更容易调用100%。

你为什么不能数组传递回视图,并有注入呢?

您认为可能看起来像

 < PHP的foreach($ row_event为$事件)?>
  <立GT;
  <跨度类=标题>< PHP的echo $事件 - > EVENTTITLE; ?>< / SPAN>
  <跨度类=降序>< PHP的echo $事件 - > eventContent; ?>< / SPAN>
  < /李>
< PHP endforeach; ?>

通过你的活动详情阵列,这将循环使您的清单。

I have the following array outputs.

Array
(
    [day] => 17
    [eventContent] => event 1 of 17th
    [eventTitle] => 17th event 1
)

Array
(
    [day] => 19
    [eventContent] => event 1 of 19th
    [eventTitle] => 19th event 1
)

Array
(
    [day] => 05
    [eventContent] => event 1 of 5th
    [eventTitle] => 5th event 1
)

Array
(
    [day] => 17
    [eventContent] => event 2 of 17th
    [eventTitle] => 17th event 2
)

Array
(
    [day] => 19
    [eventContent] => event 2 of 19th
    [eventTitle] => 19th event 2
)

Array
(
    [day] => 19
    [eventContent] => event 3 of 19th
    [eventTitle] => 19th event 3
)
...
...

Now I want to make it like the followings.

For example for 19th

<li>
<span class="title">19th event 1</span>
<span class="desc">event 1 of 19th</span>
</li>
<li>
<span class="title">19th event 2</span>
<span class="desc">event 2 of 19th</span>
</li>
<li> 
<span class="title">19th event 3</span>
<span class="desc">event 3 of 19th</span>
</li>

I tried the following. It works fine in PHP but not in Codeigniter. So I am hoping someone can tell me another way to do with out .=

Thanks in advance.

$events[intval($row_event->day)] .= '<li><span class="title">'
.stripslashes($row_event->eventTitle).
'</span><span class="desc">'.stripslashes($row_event->eventContent).
'</span></li>';

And the following is the details of the model.

$events = array();

//query the database for events between the first date of the month and the last of date of month
// $result = mysql_query("SELECT DATE_FORMAT(eventDate,'%d') AS day,eventContent,eventTitle FROM eventcal WHERE eventDate BETWEEN  '$current_year/$current_month/01' AND '$current_year/$current_month/$total_days_of_current_month'");

$query = $this->db->query("SELECT DATE_FORMAT(eventDate,'%d') AS day,eventContent,eventTitle FROM eventcal WHERE eventDate BETWEEN  '$current_year/$current_month/01' AND '$current_year/$current_month/$total_days_of_current_month'");
foreach ($query->result_array() as $row_event)
{

$events[intval($row_event['day'])] .= '<li><span class="title">'
.stripslashes($row_event['eventTitle']).'</span><span class="desc">'
.stripslashes($row_event['eventContent']).'</span></li>';
...
...

--UPDATE--

Controller

Code here

View

Code here

Errors

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 17

Filename: models/mcalendar_one.php

Line Number: 38

Array
(
    [day] => 17
    [eventContent] => event 1 of 17th
    [eventTitle] => 17th event 1
)

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 19

Filename: models/mcalendar_one.php

Line Number: 38

Array
(
    [day] => 19
    [eventContent] => event 1 of 19th
    [eventTitle] => 19th event 1
)
...
...

解决方案

This can simplified quite a bit. First, look at Active Record in CI's database class, it will make your DB calls 100% easier.

Why can't you pass the array back to the view and inject it there?

Your view may look like

<?php foreach ($row_event as $event) : ?>
  <li>
  <span class="title"><?php echo $event->eventTitle; ?></span>
  <span class="desc"><?php echo $event->eventContent; ?></span>
  </li>
<?php endforeach; ?>

That will loop through your array of event details and make your list.

这篇关于如何数组列表转换没有。=在PHP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆