PHP的初步学习

首先

你好。
因为学校停课导致太闲了,所以这次想写一些关于PHP的内容。
如果可以的话,我有在Twitter上活跃,希望能关注我。
↓↓
@DevTweak
另外,虽然质量不高,但我也在做一些功能调整,如果可以的话,请注册我的存储库。
↓↓
存储库

目录

    1. PHP 是一种基本语法、用于在屏幕上输出代码、包括各种运算符、条件分支、循环、会话和

 

    COOKIE,还有其他各种函数等。总结起来就是这样。

PHP是什么?

基本上来说,PHP是一种用于服务器端的面向对象的编程语言,用来创建动态的Web页面。

它能做什么呢?一个代表性的例子就是论坛。通过与SQL结合,可以将数据写入或读取数据库,并在Web页面上显示。还有登录系统等等,都可以创造出来。

它的特点是可以嵌入到HTML中。但它并不像HTML那样只需要记事本和浏览器就能看到最终的Web页面。如果没有MAMP、共享服务器或家庭服务器等环境,它将无法运行。

顺便说一下,只要你有win和mac,就可以使用MAMP。所以关于如何安装和运行PHP这样的问题,请自己上网搜索。非常抱歉。

如果你想更详细了解,可以参考维基百科!

它受到C语言的影响,语法相对容易理解。适合初学者使用。

对于简单的论坛、登录表单等,即使不涉及到实例创建、函数、类等,完全可以操作。但如果涉及到大型项目,这些东西就是必需的。对个人项目来说,没有它们也没问题。

基本语法

变量

请将“变量”视为一个容器,可以存放值或字符。

在C语言或Obj-C等语言中,使用的类型取决于整数值或字符。此外,类型也会根据是否有符号而有所不同。

例如:
int a = 1;(整数值)
char b = “a”;(字符)
float c = 0.1;(浮点数)
unsigned int = 1(无符号整数值)

而在PHP中,并没有类型。这真是方便啊。

那么,关于如何创建变量,是这样的,
$number = 1;
就是这样。
如果是字符类型的话,
$string = ‘あいうえお’;
在C语言中,char类型只能存放一个字符,所以要创建一个数组,
char* string = “あいうえお” 或者 char string[] = “あいうえお”,必须这样做。这个讲述涉及到指针、数组等复杂的内容,先把这些难懂的话题放在一边不谈……

顺便提一句,最后这句话必须写上;才能算作句子完整。这里是一个式子的结束。

将代码输出到屏幕

<?php 
echo 'こんにちは'; 
print('こんにちは');
?>

这有两种选择。

各种不同的操作符

意思: 加,减,乘,除 +,-,*,/
意思: 赋值 =
意思: 等于 ==或===
意思: 大于 >
意思: 小于 < 意思: 大于等于 >=
意思: 小于等于 <=
意思: 不等于 !=或<>

在编程语言中,实际上”=”表示的不是等于,而是表示赋值的意思。

递增和递减

递增:$i++
递减:$i–

递增的操作很简单。这就是$i = $i + 1的意思。它的含义是在变量i中加上1。递减也是一样的,$i = $i – 1的意思是在变量i中减去1。

这是一个选项:
这是对应于这个的…
$i += 5
有这样一个感觉。
这意味着将变量i的原始值加上5对吧。
很简单。

分支条件

对于已经有经验的人来说,这很容易,因为它与C语言的语法几乎没有变化。

<?php 
$a = 1;
if($a == 1) {
    echo 'これは1です';
}else{
    echo 'これは1以外の数字です'
}
?>

如果条件表达式满足,那么执行后面的代码,这是if的意思。
如果条件表达式不符合if条件,那么执行后面的代码,这是else的意思。

当然的,输出结果会是”这是1″。

还可以这样写。

<?php
$a = 1;
?>
<?php if($a == 1): ?>
    <?php echo 'これは1です'; ?>
<?php else: ?>
    <?php echo 'これは一以外の数字です'; ?>
<?php endif; ?>

可以将PHP标签嵌入其中。
说实话,这种写法更好。
因为嵌入HTML标签更容易,并且可以通过CSS更容易地进行设计。
例如,

<?php $a = 1; ?>
<?php if($a == 1): ?>
   <a href="https://twitter.com/DevTweak">これは1だよ</a>
<?php else: ?>
   <a href="https://twitter.com">これは1じゃないよ</a>
<?php endif; ?>

可以做这样的事情。虽然可以使用最初介绍的方式来做,但非常麻烦,工作效率可能会降低,所以最好不要做。
顺便说一下,a href的意思是生成链接。具体的内容请自行搜索。

还有一种叫做”elseif”的方式,可以进一步附加条件。

<?php $a = 1; ?>
<?php if($a == 1): ?>
    <p>これは一です</p>
<?php elseif($a == 2 || $a == 3): ?>
    <p>これは2,または3です</p>
<?php else: ?>
    <p>それ以外の数字です</p>
<?php endif; ?>

在C语言和其他语言中,通常会用”else if”来表示,但是这是不正确的。正确写法应该是”elseif”。
“||”这个符号表示”或”的意思,而”&&”则表示”且”。
你可以像下面这样使用:
($a == 1 && $a > 0),这样应该就可以了。

重复

这也是与C语言语法相同的,是吗?

<?php 
for($i=1;$i<=100;$i++) {
    echo $i.'回目'.'\n';
}
?>

这意味着从1到100进行循环。在这种情况下的输出结果为:
第1次
第2次
第3次
第4次
第5次
第6次
第7次
第8次…

这是指将前一句和后一句连接起来的意思。
\n代表换行。
顺便说一句,如果是win系统,会显示为¥符号。
而对于mac系统,只需同时按下option和delete键旁边的键即可输出。

同样地,即使是在…时也能做一样的事情。

<?php
$i = 1;
while($i <= 100){
    echo $i.'回目'.'\n';
    $i++;
?>

就是这种感觉。

会话和Cookie

会议

会话(session)是一种特殊的变量,可以在打开浏览器期间一直记住其值,请记住这一点。
可以将其想象为全局变量的一种感觉。
那么,让我们先看一下代码吧。

<?php 
session_start();
$_SESSION['test'] = 'テスト';
?>
<?php echo $_SESSION['test']; ?>

出力结果会显示为“测试”。
session_start();
从函数的名字就可以知道,简单地说它是用来启动会话的一个函数。
在使用会话的页面中,我们首先要写入这个函数。
这样即使在页面跳转之后,只要在目标页面上写上session_start(),
并且输入echo $_SESSION[‘test’];,
应该就会显示为“测试”。

当你不再需要这个session时,可以使用unset函数来删除其内容。
unset($_SESSION[‘test’]);
就是这样的。

饼干

在指定的时间段内,即使关闭浏览器,Cookie的值也会被保存。它的便利性与安全风险并存。由于可以通过简单操作查看Cookie的内容,因此尽量不要保存重要信息。

用法

<?php setcookie('test','テスト',time() + 60 * 60 * 24 * 30); ?>
<?php echo $_COOKIE['test']; ?>

输出结果将是一个测试。
将变量名作为第一个参数,将要存储的值作为第二个参数,将要存储的期间作为第三个参数。
可以使用time()函数获取当前时间戳,并将其乘以60 * 60 * 24来表示一天,然后乘以30表示三十天。

其他各种各样的函数 de

获取输入到表单中的内容

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
</head>
<body>
<form action="index.php" method="post">
    名前:
    <input type="text" name="name">
    <input type="submit" value="送信">
</form>
</body>
</html>
<?php echo '名前は'; ?>
<?php print(htmlspecialchars($_POST['name'],ENT_QUOTES)); ?>

由于需要一定的HTML知识,所以请在这方面多多关照。
填写的内容将通过action属性指定的文件进行提交。
本次我们通过form元素的method属性指定为post,
将会通过名为$_POST的全局变量进行接收。
除了post,还有一个名为get的属性,稍后会进行说明。
input元素的name属性指定的名称将会被用作

$ _POST [”] -> $_POST [”]

在这对单引号中间输入内容。
这次写的是name,
将会是$_POST[‘name’]。

如果将method设置为get,
可以使用$_GET[”]或$_REQUEST[”]接收。

最大的区别在于能否在URL中看到发送的内容。
如果将先前的方法改为get方法,
URL中将写入如下内容:
https://xxxx.com?name=XXX
(?name=XXX是添加进去的)
并且可以自由地更改XXX的值。
因此,在处理重要数据时,务必使用post方法。

打印(htmlspecialchars($_POST[‘name’],ENT_QUOTES))

許多人對這是什麼感到好奇。
這是一個安全措施的語句。有些有惡意的用戶可能會破壞網站或者造成麻煩。
通過添加這個語句,可以防止以下情況發生。
刪除這個htmlspecialchars函數, →打印($_POST[‘name’]);
讓我們試著在表單中輸入以下內容。

然後點擊發送,將會彈出警告窗口。

如果这段代码变得复杂,那么可能会有很多事情发生。
为了防止这种情况,请务必输入这个函数。
在使用这个函数的情况下,输入可以抵消标签的效果。
我也想解释ENT_QUOTES的含义,但会变得很长,所以请记住它。

总结

结构浓厚的内容,您觉得如何呢?相比C语言来说,这是更简单的方面。如果引入了面向对象、函数或者SQL语句执行等内容,会变得非常困难。
我认为通过实践而不仅仅是阅读,您可以掌握这些知识,请务必尝试编写代码。
接下来,我计划写一些关于实际应用的内容,如果您觉得好,请关注和点赞。
以上。

广告
将在 10 秒后关闭
bannerAds