php历遍json对象

//直接上例子:
$string={"文字1":{"link":"链接","son":{"文字11":"链接","文字12":"链接"}},"文字2":{"link":"链接"}};
$json=json_decode($string,true);
foreach($json as $key=>$arr)
{
    echo "[$key]=".$arr['son']." *****<br />";//前者是key后者是值(值可能还是数组)
    foreach($arr as $keyChild=>$arrChild)
    {
      echo “[$keyChild]=$arrChild —–<br />”;
    }
}

js中return,continue,break区别

面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢?让我们开始介绍吧:

js编程语法之break语句:

break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。

由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。

如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。

for(var i=1;i< =10;i++)

{

if(i==6)

{

break;

}

document.write(i);

}

当i=6的时候,直接退出for这个循环。这个循环将不再被执行!

//输出结果:12345

 

js编程语法之continue语句:

continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。

continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

for(var i=1;i< =10;i++)

{

if(i==6) continue;

document.write(i);

}

当i=6的时候,直接跳出本次for循环。下次继续执行。

//输出结果:1234578910

 

js编程语法之return语句:

return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!

当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!

php.ini配置中session.auto_start开启与关闭的区别

session.auto_start 开启就自动完成了session_start()
区别就在于在用SESSION前是否需要session_start();当
session.auto_start = on
时,执行 session_start() 将产生新的 session_idsession.auto_start = on 的优点在于,任何时候都不会因忘记执行 session_start() 或 session_start() 在程序里的位置不对,而导致错误
缺点在于,如果你使用的是第三方代码,则必须删去其中的全部 session_start() 。否则将不能得到正确的结果

js邮箱正则匹配,php邮箱正则匹配

js邮箱正则匹配:
var pattern = new RegExp("\\b(^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z0-9]{2,})|(\\.[A-Za-z0-9]{2,}\\.[A-Za-z0-9]{2,}))$)\\b");
var email=document.getElementById('email').value;
!pattern.test(email);//匹配不是邮箱,即false

php邮箱正则匹配:
$pattern ="/\\b(^['_A-Za-z0-9-]+(\\.['_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z0-9]{2,})|(\\.[A-Za-z0-9]{2,}\\.[A-Za-z0-9]{2,}))$)\\b/";
$email=$_POST['email'];//表单传来的值
!preg_match($pattern, $email);//匹配不是邮箱,即false

PHP中return和exit 、break和contiue的区别

return、break和contiue是语言结构,就如同if语句之类的,但是exit却是个函数。

1.exit函数
作用:Output a message and terminate the current script
输出一则消息并且终止当前脚本。
如果一段文本中包括多个以 <?php 开始,以 ?> 结束的脚本,exit退出所有脚本。
比如一篇php文本包括一下代码,则不输出为world。
<?php
echo "hello";
exit;
?>
<?php
echo "world";
?>

语法格式:void表示没有返回值。
void exit ([ string $status ] )
void exit ( int $status )
If status is a string, this function prints the status just before exiting.
如果status是一段字符串,这个函数在脚本退出前打印status。
如果status是一个整数,这个整数会被作为退出状态。退出状态应该从0到254,退出状态255被PHP保留并禁止使用。状态0被用来表示成功的终止程序。

2.return语言结构的用法

作用:终止函数的执行和从函数中返回一个值

3.break和continue

用在for,foreach,while,do..while 或者 switch 结构中。

break 结束当前 for,foreach,while,do..while 或者 switch 结构的执行。

break 可以接受一个可选的数字参数来决定跳出几重循环。

代码:

<?php
$arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
while (list (, $val) = each ($arr)) {
if ($val == 'stop') {
break;
}
echo "$val<br>\n";
}

$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "At 5<br>\n";
break 1;
case 10:
echo "At 10; quitting<br>\n";
break 2;
default:
break;
}
}
?>

continue 在循环结构用用来跳过本次循环中剩余的代码并开始执行本循环结构的下一次循环。

注: 注意在 PHP 中 switch 语句被认为是作为 continue 目的的循环结构。

continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。

代码:

<?php
while (list ($key, $value) = each ($arr)) {
if (!($key % 2)) { // skip odd members
continue;
}
do_something_odd ($value);
}

$i = 0;
while ($i++ < 5) {
echo "Outer<br>\n";
while (1) {
echo " Middle<br>\n";
while (1) {
echo " Inner<br>\n";
continue 3;
}
echo "This never gets output.<br>\n";
}
echo "Neither does this.<br>\n";
}
?>