PHP基本语法学习

本文阅读 2 分钟
首页 PHP笔记 正文
  1. <?php
  2. echo 'hello<br>';
  3. //phpinfo();
  4. echo date('Y-m-d');
  5. $func = true;
  6. var_dump($func);
  7. $int = 5;
  8. echo 'hello' . gettype($func)&nbsp;.&nbsp;&#39;&lt;br&gt;&#39;&nbsp;.&nbsp;$int;
  9. if (is_array($int)) {
  10. echo 'is array';
  11. } else {
  12. echo 'is not array';
  13. }
  14. $i = 1.111112;
  15. $ii = 3.14;
  16. echo $i&nbsp;.&nbsp;&#39;,&#39;&nbsp;.&nbsp;gettype($i);
  17. echo '<br>
  18. break usage
  19. what do you like?
  20. ';
  21. echo '<br> \print&#39;danyinh&#39;<br>';
  22. echo "abc$i${ii}i<br>";
  23. $str = <<<EOF
  24. hello eof
  25. are you ok?$i<br>'dkdk'
  26. EOF;
  27. echo "strange string output $str <br>";
  28. //serialize($str);
  29. $arr = ['a' => 'b', 'c', 'b', 'c' => 'd', 'c'];
  30. echo $arr['a'] . '<br>';
  31. var_dump($arr);
  32. echo $arr[0] . '<br>';
  33. class foo {
  34. function printLog() {
  35. echo "log print <br>";
  36. }
  37. }
  38. $f = new foo;
  39. $f->printLog();
  40. $obj = (object)'hello sang';
  41. var_dump($obj);
  42. $var_arr&nbsp;=&nbsp;get_object_vars($obj);
  43. foreach ($var_arr&nbsp;as&nbsp;$k => $v) {
  44. echo "$k:$v<br>";
  45. }
  46. echo '$obj&nbsp;class&nbsp;is&nbsp;:&#39;&nbsp;.&nbsp;get_class($obj) . '<br>';
  47. $obj_from_arr&nbsp;=&nbsp;(object)$arr;
  48. var_dump($obj_from_arr);
  49. //---- 传值&传引用 ------//
  50. $var1 = 'abc';
  51. $var2 = 12;
  52. echo "var1:$var1&quot;&nbsp;.&nbsp;&quot;,var2:$var2<br>";
  53. $var3&nbsp;=&nbsp;$var1;
  54. echo "var3:$var3";
  55. $var1 = 'ab';
  56. echo ",by_value_var3:$var3";
  57. $var3&nbsp;=&nbsp;&amp;$var1;
  58. echo ",by_ref_var3:$var3";
  59. //---------- 预定义变量 ------
  60. var_dump($GLOBALS);
  61. //---- 表单提交例子 ---------
  62. var_dump($_POST);
  63. ?>
  64. <html>
  65. <body>
  66. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  67. <input type="text" name="uname"/>
  68. <input type="submit" name="submit" value="save"/>
  69. </form>
  70. </body>
  71. </html>
  72. <?php
  73. //---------- 常量 -----------
  74. define("TEST_MAIN", 'hello');
  75. echo TEST_MAIN;
  76. echo 'current file path : ' . __FILE__;
  77. //--------- 数组运算符------------
  78. $arr1 = array('1' => 'abc', '2' => 'def');
  79. $arr2 = array('1' => '123', '3' => '456');
  80. var_dump($arr1&nbsp;+&nbsp;$arr2);
  81. //-------- instanceof ---
  82. class A {
  83. }
  84. class B {
  85. }
  86. $a = new A;
  87. echo $a instanceof A;
  88. //------- 反引号----------------------
  89. $list = ls&nbsp;-alh&nbsp;./;
  90. echo $list;
  91. //--- foreach遍历
  92. foreach ($arr1&nbsp;as&nbsp;$k => $v) {
  93. echo $k&nbsp;.&nbsp;&#39;:&#39;&nbsp;.&nbsp;$v . '<br>';
  94. }
  95. foreach ($arr1&nbsp;as&nbsp;$v) {
  96. echo $v;
  97. }
  98. foreach ($arr1&nbsp;as&nbsp;&amp;$v) {//加上&修改数组原值
  99. $v = '111';
  100. }
  101. var_dump($arr1);
  102. //-------------- 范围解析符(静态调用) ---------------------
  103. class Test {
  104. function printMsg($msg) {//默认是public的
  105. echo $msg;
  106. }
  107. }
  108. $msg = 'hello world';
  109. Test::printMsg($msg);
  110. // ---------- 静态属性 静态方法 -----------------
  111. class TestA {
  112. static $name = 'abc';
  113. function showName() {
  114. echo self::$name; //方法内部调用
  115. }
  116. }
  117. class TestB {
  118. var $name = 'abc';//必须带上修饰符比如 var, public,private,protected
  119. function showName() {
  120. echo $this->name;
  121. }
  122. }
  123. class TestC {
  124. const MAXSIZE = 12;//类里定义常量
  125. static $mtd = 'ad';
  126. var $mtd2 = 'abc';
  127. static function showMtd() {
  128. echo 'static method:' + self::$mtd;
  129. }
  130. function showMtd2() {
  131. echo 'normal method:' + $this->mtd;
  132. }
  133. function getConst() {
  134. echo self::MAXSIZE;
  135. }
  136. }
  137. TestC::showMtd();
  138. //TestC::showMtd2();//此时this会报错,无法找到.和java还是区别很大
  139. $tc = new TestC();
  140. echo TestC::MAXSIZE;//访问类中常量
  141. // -------------- 类的继承 -----------------------
  142. class Pa {
  143. var $a = 'you ok?';
  144. function show() {
  145. echo 'from parent;';
  146. }
  147. }
  148. class Ch extends Pa {
  149. function show() {
  150. echo 'from child;';
  151. //也指明再执行父亲方法
  152. parent::show();
  153. }
  154. }
  155. $ch = new Ch;
  156. echo $ch->a;
  157. $p = new Pa;
  158. $c = new Ch;
  159. $p->show();
  160. $c->show();
  161. //------------ 构造函数 --------------
  162. class T1 {
  163. function __construct() {
  164. echo 'abcdddd;';
  165. }
  166. }
  167. class T2 extends T1 {
  168. function __construct() { //不带参数构造函数,基类自动执行
  169. echo 'ddddddd;';
  170. }
  171. }
  172. $t2 = new T2;
  173. class T3 {
  174. var $a;
  175. function __construct($a) {
  176. $this-&gt;a&nbsp;=&nbsp;$a;
  177. }
  178. }
  179. class T4 extends T3 {
  180. function __construct($a) {
  181. parent::__construct($a);//父子类构造函数带参,则必须显式调用父类构造函数!
  182. }
  183. }
  184. //------------------- 析构函数 --------
  185. class T5 {
  186. var $a;// php4中用var,php5用public,但兼容var,参考http://www.kuitao8.com/20150427/3717.shtml
  187. function __destruct() {
  188. echo ou'do destruct;';
  189. }
  190. }
  191. $t5 = new T5;
  192. unset($t5);
  193. // ------------------ 序列化&反序列化 ---------------------
  194. class T6{
  195. public $a;
  196. public $b;
  197. function __sleep() {
  198. return(array('a'));//只序列化a
  199. }
  200. function __wakeup() {
  201. $this->b = uniqid();//初始化未序列化的b
  202. }
  203. }
  204. $t6 = new T6;
  205. $t6->a = 'sang;';
  206. $t6s&nbsp;=&nbsp;serialize($t6);
  207. $t6us&nbsp;=&nbsp;unserialize($t6s);
  208. var_dump($t6us);
  209. // ------------------- 字符串操作 --------------------
  210. $str1 = 'abcdefgHIGK ';
  211. echo $str1{0};
  212. echo strlen($str1);
  213. echo strlen(trim($str1));
  214. echo strtoupper($str1);
  215. echo strcmp($str1,$str);
  216. echo substr($str1,0,2);//ab
  217. echo substr_replace($str1,'11',0,2);
  218. echo substr_replace($str1,'11',-1,-2);
  219. echo strpos($str1,'e');
  220. $str2 = 'a|b|c';
  221. $str_arr&nbsp;=&nbsp;explode(&#39;|&#39;,$str2);//分割
  222. var_dump($str_arr);
  223. $str3&nbsp;=&nbsp;implode(&#39;@&#39;,$str_arr);//合并
  224. echo $str3;
  225. $str4 = 'http://blog.csdn.net/spy19881201/article/details/25537225?a=1&;b=2';
  226. var_dump(parse_url($str4));
  227. // ----------- 正则表达式 --------------
  228. echo preg_match('/^a?b$/','ab');
  229. echo preg_match('/^a?b$/','aab');
  230. echo preg_match('/^-{0,1}[0-9]{0,}.{0,1}[0-9]{0,}$/','-1.2');
  231. echo preg_match('/^-?[0-9].?[0-9]$/','-1.2');
  232. //--------------------- 数组 -------------------------
  233. $arr1 = array('a','b');//索引数组
  234. $arr2 = array('1'=>'a','2'=>'b');//关联数组
  235. var_dump($arr1);
  236. var_dump($arr2);
  237. $arr3 = array('a','1'=>'b','0' =>'c');//注意,如果key为整形字符串,比如'0',会转成索引数组.数组后面的值覆盖前面的值
  238. var_dump($arr3);
  239. echo $arr3['0'];
  240. $arr4['a'] = 'b';//arr4不存在,则自动创建一个!!!
  241. foreach ($arr2&nbsp;as&nbsp;$item){
  242. echo $item;
  243. }
  244. foreach ($arr2&nbsp;as&nbsp;$k => $v){
  245. echo $k.&#39;:&#39;.$v;
  246. }
  247. phpinfo();
  248. ?>
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

PHP JSON 学习笔记
« 上一篇 07-14
PHP websocket学习笔记
下一篇 » 07-14

发表评论