透明 发表于 2015-2-3 23:56:36

PHP网页设计PHP 完成的字典序分列算法

建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。   感激 bird 告知我 $_POST[] 的用法。代码以下:

<?php
if ($_POST["perdata"] == "")
{
$_POST["perdata"] = "1 2 3 4";
}

$data = chop (trim ($_POST["perdata"]));
$a = explode (" ", $data);
sort ($a);
$data = implode (" ", $a);
?>

<?php
function nextpermu (&$c)
{
$s = sizeof ($c);
$i = $s - 1;

while ($i > 0)
{
if ($c[$i] > $c[$i-1])
{
$j = $s-1;
while ($c[$j] <= $c[$i-1])
$j--;
$t = $c[$i-1];
$c[$i-1] = $c[$j];
$c[$j] = $t;
//echo $i."-".$j."<br>";
for ($j=$s-1; $i < $j; $i++, $j--)
{
$t = $c[$i];
$c[$i] = $c[$j];
$c[$j] = $t;
}
return true;
}
$i--;
}

for ($i = 0, $j=$s-1; $i < $j; $i++, $j--)
{
$t = $c[$i];
$c[$i] = $c[$j];
$c[$j] = $t;
}
return false;
}
?>
<html>
<head>
<title>分列-字典法</title>
</head>
<body>
<form action="permutation.php" method="post">
<table>
<tr>
<td><input type="text" name="perdata"></td>
<td><input type="submit" value="分列"></td>
</tr>
</table>
</form>

<p>以后元素:<? echo $data; ?></p>

<table width="60%">
<tr>
<th width="50" bgcolor="yellow">序号</th>
<th bgcolor="EEEEFF">分列</th>
</tr>
<?php
$num = 1;

do
{
?>
<tr>
<td align="center"><? echo $num; ?> </td>
<td><? echo implode (" ", $a); ?></td>
</tr>
<?php
$num++;
}
while (nextpermu ($a));
?>
</table>
</body>
</html>虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。

蒙在股里 发表于 2015-2-4 07:09:06

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

飘灵儿 发表于 2015-2-9 18:34:19

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

活着的死人 发表于 2015-2-18 13:08:15

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

爱飞 发表于 2015-3-6 06:45:27

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

因胸联盟 发表于 2015-3-15 14:15:30

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

只想知道 发表于 2015-3-31 10:08:51

实践是检验自己会不会的真理。

若相依 发表于 2015-4-7 01:39:12

写的比较杂,因为我也是个新手,不当至于大家多多指正。

冷月葬花魂 发表于 2015-4-9 10:15:10

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

若天明 发表于 2015-4-18 00:15:37

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

愤怒的大鸟 发表于 2015-5-3 20:02:16

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

柔情似水 发表于 2015-5-6 18:10:57

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

再现理想 发表于 2015-6-5 22:11:15

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

分手快乐 发表于 2015-6-22 22:07:12

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

灵魂腐蚀 发表于 2015-6-30 21:23:27

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

老尸 发表于 2015-7-12 15:59:40

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

山那边是海 发表于 2015-7-14 13:49:05

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

不帅 发表于 2015-7-22 07:23:21

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

小女巫 发表于 2015-9-27 21:38:22

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
页: [1]
查看完整版本: PHP网页设计PHP 完成的字典序分列算法