仓酷云

标题: PHP网页设计PHP 完成的字典序分列算法 [打印本页]

作者: 透明    时间: 2015-2-3 23:56
标题: PHP网页设计PHP 完成的字典序分列算法
建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。   感激 bird 告知我 $_POST[] 的用法。代码以下:
  1. <?php
  2. if ($_POST["perdata"] == "")
  3. {
  4. $_POST["perdata"] = "1 2 3 4";
  5. }
  6. $data = chop (trim ($_POST["perdata"]));
  7. $a = explode (" ", $data);
  8. sort ($a);
  9. $data = implode (" ", $a);
  10. ?>
  11. <?php
  12. function nextpermu (&$c)
  13. {
  14. $s = sizeof ($c);
  15. $i = $s - 1;
  16. while ($i > 0)
  17. {
  18. if ($c[$i] > $c[$i-1])
  19. {
  20. $j = $s-1;
  21. while ($c[$j] <= $c[$i-1])
  22. $j--;
  23. $t = $c[$i-1];
  24. $c[$i-1] = $c[$j];
  25. $c[$j] = $t;
  26. //echo $i."-".$j."<br>";
  27. for ($j=$s-1; $i < $j; $i++, $j--)
  28. {
  29. $t = $c[$i];
  30. $c[$i] = $c[$j];
  31. $c[$j] = $t;
  32. }
  33. return true;
  34. }
  35. $i--;
  36. }
  37. for ($i = 0, $j=$s-1; $i < $j; $i++, $j--)
  38. {
  39. $t = $c[$i];
  40. $c[$i] = $c[$j];
  41. $c[$j] = $t;
  42. }
  43. return false;
  44. }
  45. ?>
  46. <html>
  47. <head>
  48. <title>分列-字典法</title>
  49. </head>
  50. <body>
  51. <form action="permutation.php" method="post">
  52. <table>
  53. <tr>
  54. <td><input type="text" name="perdata"></td>
  55. <td><input type="submit" value="分列"></td>
  56. </tr>
  57. </table>
  58. </form>
  59. <p>以后元素:<? echo $data; ?></p>
  60. <table width="60%">
  61. <tr>
  62. <th width="50" bgcolor="yellow">序号</th>
  63. <th bgcolor="EEEEFF">分列</th>
  64. </tr>
  65. <?php
  66. $num = 1;
  67. do
  68. {
  69. ?>
  70. <tr>
  71. <td align="center"><? echo $num; ?> </td>
  72. <td><? echo implode (" ", $a); ?></td>
  73. </tr>
  74. <?php
  75. $num++;
  76. }
  77. while (nextpermu ($a));
  78. ?>
  79. </table>
  80. </body>
  81. </html>
复制代码
虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。
作者: 蒙在股里    时间: 2015-2-4 07:09
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 飘灵儿    时间: 2015-2-9 18:34
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 活着的死人    时间: 2015-2-18 13:08
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 爱飞    时间: 2015-3-6 06:45
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 因胸联盟    时间: 2015-3-15 14:15
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 只想知道    时间: 2015-3-31 10:08
实践是检验自己会不会的真理。
作者: 若相依    时间: 2015-4-7 01:39
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 冷月葬花魂    时间: 2015-4-9 10:15
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 若天明    时间: 2015-4-18 00:15
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 愤怒的大鸟    时间: 2015-5-3 20:02
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 柔情似水    时间: 2015-5-6 18:10
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 再现理想    时间: 2015-6-5 22:11
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 分手快乐    时间: 2015-6-22 22:07
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 灵魂腐蚀    时间: 2015-6-30 21:23
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 老尸    时间: 2015-7-12 15:59
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 山那边是海    时间: 2015-7-14 13:49
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 不帅    时间: 2015-7-22 07:23
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 小女巫    时间: 2015-9-27 21:38
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2