PHP基础①

首先

我从今天开始学习PHP,我会在这里整理并输出学习成果。首先,我将一次性概括基本内容。

在画面上逐渐显示文字

首先,我们将输出编程学习的第一步,”HelloWorld”。

<h1>
<?php
print("HelloWorld");
?>
</h1>

在PHP中,编写程序时必须用开始标记

順便提一下,如果在這種情況下顯示的時間不正確,那是因為時區設定為歐洲,需要更改為東京時區。(這個設置因人而異)你也可以在代碼中進行設定,我來看一下。

date_default_timezone_set('Asia/Tokyo');

将字符串连接在一起

在Ruby中,我們使用+來連接字串,但在PHP中,我們使用.來連接字串。

<?php
print('現在は'.date('G時 i分 s秒') . 'です'); #現在は9時38分25秒です
?>

顺便提一下,作为应用,还可以做类似以下的事情。

<?php
$name="私の名前は"
$name .="山田です" # $name=$name . "山田です"の省略系
print($name); #私の名前は山田です

?>

使用对象来显示时间。

以下是关于使用对象的显示方式的总结。

$today = new DateTime();
print($today->format('G時 i分 s秒'));#9時38分25秒

这种写法完全就是面向对象的呢。$today是DateTime类的实例,通过使用format方法来显示时间,就是这样的感觉呢。

处理变量

在使用变量时,需要在前面加上美元符号以明确标识。
当然,变量名最好使用英文,但好像也可以使用像”$我的名字”这样的变量名。
如果变量名中包含符号或数字位于开头,则无法作为变量使用。

<?php
$sum = 100+200; 
print($sum);#300
?>

另外,雖然有點複雜,但在 PHP 中,當變數被””包圍時,不會顯示變數名稱,而是會顯示變數的內容。

重复处理

我們將設計一個程式,以列出從1到365的數字。
這個部分在大多數程式語言中基本上都是相同的,我們只需要撰寫程式碼即可。

同構詞結構

<?php
$i=1;
while($i<=365){
 print($i."\n");
 $i =$i + 1;
}
?>

用于循环的语句

<?php
for($i=1;$i<=365;$i++){
 print($i . "\n");
}
?>

顺便提一下,这些文章很容易理解。
参考文章:https://qiita.com/rana_kualu/items/0abd2b6f69527b0b4b92

练习题(展示一年后的日历)

我們將使用循環結構,構思一個可顯示一年期間的日曆的程式。
在這次的例子中,我們使用strtotime方法。
calendar.php
for($i=0;$i<=365;$i++){ print(date(‘n/j(D)’,strtotime(‘+’.$i.’day’))); print “\n”; } ?>

数组

使用数组和date方法来以日语显示星期几。
这里和Ruby并没有太大的区别。
sample.php
$week_name=[‘日’,’月’,’火’,’水’,’木’,’金’,’土’];
print($week_name[date(‘w’)]);

配列這個詞是日語中的一個術語,可以翻譯為“雙排式”。

不是使用数字作为索引,而是使用键来获取。

$fruits=['apple'=>'りんご',
         'grape'=>'ぶどう',
         'lemon'=>'れもん'
];
print($fruits[apple]);#りんご

在数组中循环处理

展示如何进行数组专用的重复处理。就像在Ruby中的each语句一样。

$fruits=['apple'=>'りんご',
         'grape'=>'ぶどう',
         'lemon'=>'れもん'
];

foreach($fruits as $val){
  print($val . "\n"); #りんご
}

foreach($fruits as $english=>$japanese)
  print($english . ":" . $japanese . "\n"); #apple:りんご
}

如果…

这也几乎和Ruby或C语言一样。

if(date('G') < 10){
  print("10時以前は営業時間外です");
}else{
  print("いらっしゃいませ");
}

这个区域将被跳过

四舍五入、舍去小数部分

<?php
#3.3333をどう扱うかみていく
(floor(100/3000*100)); #3 切り下げ
(ceil(100/3000*100)); #4 切り上げ
(round(100/3000*100)); #3 四捨五入
?>

统一格式

如果您想对齐位数,指定格式等,可以使用 sprintf 进行操作。在官方文档和博客等中都有简单易懂的介绍,请参阅。

<?php
$date=sprintf('%04d年 %02d月 %02d日',2021,1,12);
print($date); #2021年01月12日
?>

向文件中写入内容,读取内容。

写字

当想要向文件中写入内容时,我们可以使用file_out_contents方法。该方法会返回写入文件是否成功的true或false值。

<?php
$success=file_out_contents('../news_file.txt','新しい速報です!');  #書き込みが成功したかどうかでtrue,falseを返す
if($success){
  print("成功");
}else{
  print("失敗");
}
?>

读取

在加载时,使用file_get_contents方法。
此外,如果使用readfile,就不需要书写专门用于在屏幕上显示的程序,这是一个优点。

$new=file_get_contets("../new_file.txt");
print($new);

#上記のプログラムをまとめたい場合は以下のメソッドを使用すると良い
readfile("../new_file.txt")

读取XML信息

当需要读取XML信息时,可以使用simplexml_load_file(’https://~~~~’)进行操作。

<?php
$xmlTree=simple_load_file('https://~~~~~');
foreach($xmlTree->channel->item as $item){

<a href="<?php print($item->link);?>"><?php print ($item->title);?></a>

}

?>

读取JSON

在读取JSON信息时,可以使用之前提到的file_get_contents函数。

<?php
$file=file_get_contents('https://~~~');
$json=json_decode($file); #phpでjsonを扱えるようにするため

foreach($json->items as $item):
?>

<a href="<?php print($item->url);?>"><?php print($item->title);?></a>
<?php endforeach;?>

最后

暫時,我總結了一些基礎的東西。
果然學習新語言真的很有趣。
暫時,我想用PHP來創作一些作品,所以我會快速地學習!