喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

招聘PHP开发人员(北京)

上一主题 下一主题
     
标题: 正侧和数组问题  
 
minghacker (minghacker)
注册会员
Rank: 2
中级会员



UID 63282
精华 0
积分 175
帖子 172
金钱 175 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-2-20
状态 离线
[广告]: 代充Paypal帐号美元
正侧和数组问题

<?php
$str='<tr><td>3.</td><td>333内容</td><td>3333</td></tr><tr><td>2.</td><td>222内容</td><td>2222</td></tr><tr><td>1.</td><td>111内容</td><td>1111</td></tr>';


$reg = '|<tr><td>(.*)</td><td>(.*)</td><td>(.*)</td></tr>|isU';

preg_match_all($reg,$str,$test);

print_r($test);
?>

得到的结果如下:
Array
(
    [0] => Array
        (
            [0] => <tr><td>3.</td><td>333内容</td><td>3333</td></tr>
            [1] => <tr><td>2.</td><td>222内容</td><td>2222</td></tr>
            [2] => <tr><td>1.</td><td>111内容</td><td>1111</td></tr>
        )

    [1] => Array
        (
            [0] => 3.
            [1] => 2.
            [2] => 1.
        )

    [2] => Array
        (
            [0] => 333内容
            [1] => 222内容
            [2] => 111内容
        )

    [3] => Array
        (
            [0] => 3333
            [1] => 2222
            [2] => 1111
        )

)

//我现在想得到如下的结果不知道怎么实现 大家 帮看下(其中$str是不可以改变的):

Array
(
    [0] => Array
        (
            [0] => <tr><td>1.</td><td>111内容</td><td>1111</td></tr>
            [1] => <tr><td>2.</td><td>222内容</td><td>2222</td></tr>
            [2] => <tr><td>3.</td><td>333内容</td><td>3333</td></tr>
        )

    [1] => Array
        (
            [0] => 1.
            [1] => 2.
            [2] => 3.
        )

    [2] => Array
        (
            [0] => 111内容
            [1] => 222内容
            [2] => 333内容
        )

    [3] => Array
        (
            [0] => 1111
            [1] => 2222
            [2] => 3333
        )

)
2005-10-31 09:40 AM#1
查看资料  发短消息  QQ  顶部
 
xuefengal
金牌会员
Rank: 6Rank: 6


UID 25003
精华 0
积分 1081
帖子 1155
金钱 1081 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-12-3
来自 湖北·黄冈
状态 离线
[广告]: 代充Paypal帐号美元
正则取出数据后用sort对数组排序一下就是你要的结果了
2005-10-31 10:11 AM#2
查看资料  访问主页  发短消息  顶部
 
minghacker (minghacker)
注册会员
Rank: 2
中级会员



UID 63282
精华 0
积分 175
帖子 172
金钱 175 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-2-20
状态 离线
[推荐阅读] 如何屏蔽Ctrl+p?


QUOTE:
最初由 xuefengal 发布
[B]正则取出数据后用sort对数组排序一下就是你要的结果了 [/B]
我这样sort不行啊
<?php
$str='<tr><td>3.</td><td>333内容</td><td>3333</td></tr><tr><td>2.</td><td>222内容</td><td>2222</td></tr><tr><td>1.</td><td>111内容</td><td>1111</td></tr>';


$reg = '|<tr><td>(.*)</td><td>(.*)</td><td>(.*)</td></tr>|isU';

preg_match_all($reg,$str,$test);

sort($test);
print_r($test);
?>
2005-10-31 10:23 AM#3
查看资料  发短消息  QQ  顶部
 
xuefengal
金牌会员
Rank: 6Rank: 6


UID 25003
精华 0
积分 1081
帖子 1155
金钱 1081 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-12-3
来自 湖北·黄冈
状态 离线
[推荐阅读] 如何屏蔽IE的Ctrl+p功能?
sort
(PHP 3, PHP 4 )

sort -- 对数组排序
说明
void sort ( array array [, int sort_flags])


本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。

例子 1. sort() 例子

<?php

$fruits = array ("lemon", "orange", "banana", "apple");
sort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "fruits[".$key."] = ".$val."\n";
}

?>  

本例将显示:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange




fruits 被按照字母顺序排序。

可选的第二个参数 sort_flags 可以用以下值改变排序的行为:

排序类型标记:


SORT_REGULAR - 正常比较单元

SORT_NUMERIC - 单元被作为数字来比较

SORT_STRING - 单元被作为字符串来比较


注: 第二个参数是 PHP 4 新加的。

参见 arsort(),asort(),ksort(),natsort(),natcasesort(),rsort(),usort(),array_multisort() 和 uksort()。
2005-10-31 10:29 AM#4
查看资料  访问主页  发短消息  顶部
 
minghacker (minghacker)
注册会员
Rank: 2
中级会员



UID 63282
精华 0
积分 175
帖子 172
金钱 175 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-2-20
状态 离线
[推荐阅读] 请教IIS6下php4以isapi模式运行的问题,页面显示后状态栏还提示正在打开网页,最
xuefengal兄,能否按照我给的列子,帮我搞点啊,我实在不知道怎么搞,
谢了
2005-10-31 10:35 AM#5
查看资料  发短消息  QQ  顶部
 
xuefengal
金牌会员
Rank: 6Rank: 6


UID 25003
精华 0
积分 1081
帖子 1155
金钱 1081 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-12-3
来自 湖北·黄冈
状态 离线
[推荐阅读] 北京网电博通--招php程序员,会做就行
无能为力。。。
2005-10-31 10:44 AM#6
查看资料  访问主页  发短消息  顶部
 
bkkkd
高级会员
Rank: 4
老会员


UID 29854
精华 0
积分 617
帖子 631
金钱 617 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2004-7-5
状态 离线
[推荐阅读] 关于php网站的短信服务
array_reverse

(PHP 4 )
array_reverse --  返回一个单元顺序相反的数组
说明
array array_reverse ( array array [, bool preserve_keys])

array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。

<?php

$fruits = array ("lemon", "orange", "banana", "apple");
array_reverse ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
echo "fruits[".$key."] = ".$val."\n";
}

?>
2005-10-31 11:34 AM#7
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
xuefengal
金牌会员
Rank: 6Rank: 6


UID 25003
精华 0
积分 1081
帖子 1155
金钱 1081 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-12-3
来自 湖北·黄冈
状态 离线
[推荐阅读] 关于mktime的问题


QUOTE:
最初由 bkkkd 发布
[B]array_reverse

(PHP 4 )
array_reverse --  返回一个单元顺序相反的数组
说明
array array_reverse ( array array [, bool preserve_keys])

array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。

<?php

$fruits = array ("lemon", "orange", "banana", "apple");
array_reverse ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
echo "fruits[".$key."] = ".$val."\n";
}

?> [/B]
他的数据不是固定的,如果数据是
111
333
222
你反回的结果是
222
333
111
而他需要的结果是
111
222
333
2005-10-31 11:38 AM#8
查看资料  访问主页  发短消息  顶部
 
纯粹误会
金牌会员
Rank: 6Rank: 6


UID 63836
精华 0
积分 2194
帖子 2187
金钱 2194 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-3-30
状态 离线
[推荐阅读] 求php判断 文件或目录是否可执行的代码
<?php
$str='<tr><td>3.</td><td>333内容</td><td>3333</td></tr><tr><td>2.</td><td>222内容</td><td>2222</td></tr><tr><td>1.</td><td>111内容</td><td>1111</td></tr>';


$reg = '|<tr><td>(.*)</td><td>(.*)</td><td>(.*)</td></tr>|isU';

preg_match_all($reg,$str,$test);

array_multisort($test[0],$test[1],$test[2],$test[3]);// -- 对多个数组或多维数组进行排序
print_r($test);
?>


正确无误




求职深圳。
2005-10-31 12:34 PM#9
查看资料  发短消息  QQ  顶部
 
minghacker (minghacker)
注册会员
Rank: 2
中级会员



UID 63282
精华 0
积分 175
帖子 172
金钱 175 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-2-20
状态 离线
[推荐阅读] Php代码中函数前面的&amp;是什么意思
上面的代码我把他换成下面的代码,排序就是乱的,代码如下:
<?php


//第二组不可以对数组进行排序,排序是乱的
$str='
<tr><td width=26% align=center><a href=../S/017f6eed.htm><img height=80 width=80 src=../Aimg/G1/200531789501.jpg border=0></a></td><td width=37%>专辑名称:<A href=../S/017f6eed.htm>《自慰精选 (独立纪念盘)》</A><br><br>所属语言:闽南/国语</td><td width=37%>发行日期:2005年03月15日<br><br><A href=../S/017f6eed.htm>进入试听 ---></a></td></tr><tr><td width=100% colspan=3><hr size=1 color=#A5E08E></td></tr><tr><td width=26% align=center><a href=../S/eb175f60.htm><img height=80 width=80 src=../Aimg/G1/1974901.jpg border=0></a></td><td width=37%>专辑名称:<A href=../S/eb175f60.htm>《平衡》</A><br><br>所属语言:国语</td><td width=37%>发行日期:2003年1月<br><br><A href=../S/eb175f60.htm>进入试听 ---></a></td></tr><tr><td width=100% colspan=3><hr size=1 color=#A5E08E></td></tr><tr><td width=26% align=center><a href=../S/a2500232.htm><img height=80 width=80 src=../Aimg/G1/66833341.jpg border=0></a></td><td width=37%>专辑名称:<A href=../S/a2500232.htm>《我是人》</A><br><br>所属语言:台/国语</td><td width=37%>发行日期:2003年<br><br><A href=../S/a2500232.htm>进入试听 ---></a></td></tr>';

$reg='|<tr><td width=26% .*><a href=(.+)><img .* src=(.+) .*></a></td><td .*>.*<A .*>(.+)</A><br><br>(.+)</td><td .*>(.+)<br>|isU';


preg_match_all($reg,$str,$test);
array_multisort($test[0],$test[1],$test[2],$test[3],$test[4],$test[5]);// -- 对多个数组或多维数组进行排序
print_r($test);

?>
大家帮我想下办法啊
2005-10-31 08:27 PM#10
查看资料  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.036043 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP