0709 作业
5-1:变量、特殊字符的展示
# 单引号无效
$name = '王大天';
echo '单引号部分:我就是 $name';
echo '<hr>';
// echo '我就是 '$name''; 这种方式是错的。
echo '我才是王大田, \n\r 对不对?';
echo '<hr>';
# 双引号才有效
$name = "王大天";
echo "双引号部分:我就是 $name";
echo '<hr>';
echo "我就是 '$name'"; //这种情况不需要用单引号就可以直接显示。
echo '<hr>';
echo "我才是王大田, \n\r 对不对?"; //查看源码情况下即可看出已经换行了。
echo '<hr>';
# heredoc
echo <<< "test"
heredoc部分:我就是 $name, \n\r 对不对?
test;
echo '<hr>';
# nowdoc
echo <<< 'test'
nowdoc部分:我就是 $name, \n\r 对不对?
test;
echo '<hr>';
如图:
5-2:string打印输出函数
printf('printf()部分:这个世界很牛X%s',',这是谁说的?');
echo '<hr>';
vprintf('vprintf()部分:这个世界很牛X%s', [',这是谁说的呢?']);
echo '<hr>';
$myString = vsprintf('vsprintf部分:I should use Englishi%s', [', ok. let\'s test']);
file_put_contents('mytest2.txt', $myString);
//注意区分是vsprintf或者sprintf,前面有一个s。否则输出的不是字符串
echo '<hr>';
$sql = vsprintf('SELECT * FROM `%s` LIMIT %d', ['staffs', 50] );
echo $sql;
file_put_contents('temp111.txt', $sql);
如图:
5-3:string的分割查询
echo implode('-',['implode部分:','王子犯法','公主犯法','狐狸犯法','国王犯法']), '<br>';
echo implode('-##-',['条约:','王子犯法','公主犯法','狐狸犯法','国王犯法']), '<br>';
echo '<hr>';
print_r(explode('*','牛*厉害*strong* teapot'));
echo '<hr>';
list($first, $second, $third, $forth) = explode('*','牛*厉害*strong* teapot', 5);
echo "explode转list部分:<br>" . "first={$first}<br> secnd={$second}<br> thrd={$third}";
echo '<hr>';
echo 'substr部分:<br>';
echo substr('Here you are.',4,6), '<br>';
echo '<hr>';
echo 'str_split部分:<br>';
print_r(str_split('Here you are...',3));
// 后面的数字为拆分的单元。
echo '<hr>';
echo 'csv部分:<br>';
print_r(str_getcsv('I am, a, new, learner.'));
//返回的是一个array。
echo '<hr>';
$csvMy = file_get_contents('mycsv.csv');
echo $csvMy;
//将csv文件变成一个字符串。
echo '<hr>';
$arr = explode("\n", $csvMy);
print_r($arr);
//将csv文件转化为一个array。
结果如图:
5-4:string的替换
echo 'str_pad部分:<br>';
echo str_pad('玻璃', 12, '^', STR_PAD_LEFT);
echo '<hr>';
echo 'str_repeat部分:<br>';
echo str_repeat('*&^---', 20);
echo '<hr>';
echo 'str_replace部分:<br>';
echo str_replace('王大海','@@@','王大海好样的,我们都要学习王大海', $count);
echo '<br>';
echo "'王大海'被替换了" . $count . '次';
echo '<hr>';
echo '多词替换部分:<br>';
$keyWords = ['水货', '糟粕', '坏蛋'];
echo str_replace($keyWords, ['##','$$','&&&'], '在市场上充满了水货,这个是一个很大的糟粕,主要是有一些坏蛋及大坏蛋充斥市场', $count);
echo '<br>';
echo "被替换了" . $count . '次';
echo '<hr>';
echo 'trim部分:<br>';
$myStr = 'My name is Wang. ';
echo strlen($myStr);
echo '<br>';
echo strlen(trim($myStr)), '<br>';
//直接将后面的空格删除掉了。
$myStr2 = 'What My name is Wang. ';
echo trim($myStr2, 'Wh'), '<br>', '<br>';
//貌似只能从前部或后部来进行去除。
echo 'strpos部分:<br>';
echo strpos('My name is Wang.', 'name'), '<br>', '<br>';
echo '用特定字符去拆分获取字符串部分:<br>';
echo strstr('testpic.jpg','p'),'<br>';
echo strstr('testpic.jpg','p',true),'<br>','<br>';
echo rtrim(strstr('abcdef@abc.abc','e'),'e'),'<br>';
echo '<hr>';
结果如图: