博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 初学
阅读量:6945 次
发布时间:2019-06-27

本文共 3039 字,大约阅读时间需要 10 分钟。

 

虚拟目录和虚拟主机的关系?

虚拟主机可以设置多个,虚拟目录呢?
以为phpstorm和Intellij一样,结果不是!
它直接将所有内容上传(部署)到服务器即可,不像Intellij那样还调用服务器??

//php标准风格
//短标记风格--需要在php.ini中开启short_open_tag
//asp风格--需要在php.ini中开启asp_tag<%%>//script标记风格

 

php的关键字 不区分大小写,但变量名 区分
所有变量名必须以$开头,但$不是变量的组成部分!!!仅仅表示后面跟着变量名。其他规则同js。
php也可以获取地址!如 &$a
销毁变量:unset($a);  --php的垃圾回收机制。
如果 $b='a'; 那么 $$b 就是 $a 。卧槽---这也行。
--关键是可以拼接函数名调用函数。

function fun($type){        $fn = 'imagecreatefrom'.$type;        $fn();    }

 

常量使用 define(_var, _val) 定义,没有$符号。
默认情况下,常量名是区分大小写的。
也可以不区分大小写。define(_var, _val, _capSensitive); 第三个值用于设定是否区分大小写(true不区分)。
defined(_name); 可以查看常量是否定义。
变量类型:标量类型、复合类型、特殊类型。
标量类型:整数型integer、浮点数float(也称double!)、布尔型boolean、字符串型string(单、双引号)。
    string

    echo 'my name is $name';

    echo "my name is $name";

    是不同的,后者输出$name对应的值。

         就是说string单双引号是不同的,单引号是我们熟知的,双引号则会替换变量--类似占位。
       -- 但是,注意,php不知道这个变量名字到什么地方截止!!!

    -- 解决办法:① 加个空格。② 加{},注意 {$ 之间不能有空格,但是可以写成 ${

  --卧槽!!直接输出{}需要转义。
复合类型:数组array、对象object
    $arr = array(v1, ...); // 默认的角标索引
    $arr = array(k1 => v1, ...); //字符串下标(相当于键值对)。k1也可以是integer!卧槽。
        注意,上面这个,相当于给键赋值,所以如果有多个相同的键,那只会输出最后的键。
        print_r($arr);可以用来输出数组,但也只会输出最后的键(如果重复)。
特殊类型:资源类型resource、无类型NULL
    
echo   输出true为1,false为空。
print_r();  输出数组,包括键值对。
var_dump();  可以输出数据类型和值。    
print   类似echo,但一次只能输出一个参数。输出成功返回1,否则返回0.
注释:
    单行注释:// #
    多行注释:/**/
运算符:
    + 在php中只能做数学运算。 换句话说,会把操作数转成数字进行运算!!!
        echo '10'+'20';//30
        echo '10a'+'20b';//30
    === 全等于 (比较值和类型)
    !==    不全等于
    == 会自动转换类型,例如字符串和数字比较,会将字符串转成0。(js中不会这样)
    . 字符串连接符!!!!!!!!!!!!卧槽,为什么我这实现不了???---因为仅限于字符串操作。
    .= 见上面!!!
    

$_POST(field); //获取POST提交的字段内容isset(var); //判断是否有变量varis_numeric(var); //判断var是否数字is_int(var); //判断var是否【整形】,不是判断整数!!例如'10'        //将整形转成整数:+-*/都可以!

if ... elseif ...  //注意, else if 也可以。
foreach($arr as $var) ...   //专门遍历数组
foreach($arr as $key=>$value) ...   //同上
mysql  :  default插入默认值;null自动增长?
phpmyadmin,web形式可视化界面。
php本身还是一个框架,所有功能都由扩展提供。扩展都在 //ext/ 下,需要开启才行。
例如,通过php连接mysql,必须开启php的mysql扩展。

extension=php_mysql.dll    --wampserver默认是开启的!

 

  

    exit($msg); die($msg); --都是中止执行。die()更过分,后面的都不再返回,包括html的东西。
中级写法:

$link = mysqli_connect('localhost','root','a') or die('数据库连接失败!');

     --但是,这样会在页面上显示错误信息,这样可能会暴露一些敏感信息(如user)。

     --可以通过@来屏蔽错误信息。  
终极写法:

@mysqli_connect(..)..

执行语句:mysql_query($sql) or die($msg); //选择数据库 $sql = 'use data';  //mysqli_query($link, $sql)
注意,foreach只能循环php的数组,无法遍历resource -- mysqli_query()获取的查询结果集是resource。
    --如何取出?mysqli_fetch_row().. 取出一条记录,匹配成一个[索引]数组。
    --关联数组的key是区分大小写的。
    --mysqli_fetch_row()        索引数组。
    --mysqli_fetch_assoc()     匹配成关联数组。
    --mysqli_fetch_array()      既支持索引数组,又支持索引数组。
    --mysqli_fetch_object()    一条记录就是一个对象,一个字段就是一个属性。
        php中,通过 -> 调用属性。
    
释放资源:mysqli_free_result($rs); //释放结果集。
关闭连接:mysqli_close($link);
    --注意,mysql_free_result和mysql_close 报错。
    --另外,页面执行完后,所有变量全部销毁,所以,可以不必手动释放资源。
    --mysql_num_rows($rs); //获取结果集的记录数。
    header('location:url'); //跳转页面
    location.reload(url);
    location.assign(url);
    location.replace(url);
    location.href=url;
关键:页面元素与php代码的互动。
    --提交到页面,再使用超全局函数处理。
    <form οnsubmit='return false' ..   --终止提交
    var obj = document.getElementById(id);
    //obj.value; //input的value
    obj.select(); //js的选中!!! --之前没想过还能这样!
   

转载地址:http://rpanl.baihongyu.com/

你可能感兴趣的文章
图片切换[置顶] 送大家几款可以运用到实际项目的flash+xml控件
查看>>
XSS第二节,XSS左邻右舍
查看>>
蔬菜销售策划
查看>>
15个带给您优秀用户体验的移动应用 UI 设计
查看>>
Visual Studio 宏的高级用法
查看>>
Android -- 解析xml
查看>>
IC芯片
查看>>
解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译)
查看>>
批处理创建文件夹
查看>>
手机网站调试神器之chrome控制台
查看>>
UVa 825 - Walking on the Safe Side
查看>>
Could not load file or assembly or one of its dependencies. 试图加载格式不正确的程序。
查看>>
PHP超大文件下载,断点续传下载
查看>>
C++ overloading contructor
查看>>
怎样配置PHP环境和安装Zendstdio编辑器
查看>>
基于Maven构建开发第一个Storm项目
查看>>
SQL Server on Linux 理由浅析
查看>>
Oracle database
查看>>
JAVA - JAVA编译运行过程
查看>>
Android 手势识别类 ( 三 ) GestureDetector 源码浅析
查看>>