在php中如何判断一个字符串中包含别一个字符串?
      可以用strpos函数来判断一个字符串是否在别一个字符串中出现。代码这样写:
    if (strpos($a,'are') !== false) {
        echo 'true';
    }
    注意用!== false,因为如果一个字符串出现在别一个字符串的开始位置,返回值为0,0做为一个偏移量返回,它是用效的,而真正没找到会返回boolean false,所以我们不明简单的用 !strpos($a, 'are').同时还要注意strpos区分大小写,如需进行对大小写不敏感的搜索,用 stripos() 函数。
......
如何用php正确的定义"Content-type"为JSON
      从网上搜索,会发现有两种不同的方式来定义已加载PHP文件的Content-type为JSON。
    第一种:header('Content-type: text/json');
    第二种:header('Content-type: application/json');
    那个用哪一种才是最正确,最科学的呢?
    application/json是在RFC4627中正式注册的JSON的MIME类型,并列在互联网媒体类型列表中。我想用第二种才是正确的。application/json的默认编码为UTF-8,我们可以在声明中改为其他类型的编码,但要保注意提交和返回的编码一致性。否则可能产生乱码,例如中文。
    而text/json是被RFC定义为废弃的。
......
php删除数组中某一元素
  
    我们从数组中删除一元素,用以用unset,删除以后数组中就不再包括这个元素,而不是把这个元素设为null.
    <?php
    $x = array(1,2);
    unset($x[0]);
    var_dump($x);
    ?>
    
    output
    
    array(1) {
      [1]=>
      int(2)
    }
    注意这样做数组的元素索引没有改变,假设从中间删除了某个索引对应的元素,会造成数组索引不连贯。
......
mysql_*(或者说mysql扩展)被弃用的原因
  mysql_*是一个成熟的东西,许多网站都用这个对mysql数据库进行操作(如请求mysql_query(),mysql_connect()函数或mysql_real_escape_string()),但为什么php高版本中要将它移除呢,
这是一个典型的问题。为了说明这个问题,在技术层面详细说明为什么使用mysql_ *函数不再推荐:
一.没有后续的开发支持。
二.不是面向对象的。
 这好像不是一个好的理由,为什么非要面向对象呢?
三.mysql_*不支持:
  1.锁定,异步查询
  2.预处理语句或参数化查询(我想这一点非常重要)
  3.存储过程
  4.多条语句查询
  5.事物
因为它已过时,所以在未来的代码中尽量少用它们。
用更清晰,更好的错误处理和引用外部数据的方法比用一个单独的函数调用,手动处理错误的支持就显得尤为重要。
......
php的foreach工作原理
  
事先声明,我们讨论的不是foreach用来做什么,和如何使用它。我们要分析的是它的工作原理。而不是说怎样用他来循环数组。
 
很长一段时间我认为foreach循环的是数组本身。但是,许多人提到,它其实是把数组做为一个副本来操作,我也认为这是最终的结论.不过,我又对这个问题进行了重新的思考,并通过实际的测试发现,
事实上也不完全如此。
让我解释一下,从下面的例子中,我们将用一个数组看出它是如何工作的。
$array = array(1, 2, 3, 4, 5); //测试用的数组.
//case 1
foreach ($array as $item) {
  echo "$item\n";
  $array[] = $item;
}
print_r($array);
/* Output in loop:    1 2 3 4 5
   $array after loop: 1 2 3 4 5 1 2 3 4 5 */
这清楚地表明,我们不用源数组直接工作 - 否则循环将永远持续下去,因为我们是在循环过程中不断加入新的元素到数组上。再用一个例子说明:
//case 2
foreach ($array as $key => $item) {
  $array[$key + 1] = $item + 2;
  echo "$item\n";
}
print_r($array);
/* Output in loop:    1 2 3 4 5
   $array after loop: 1 3 4 5 6 7 */
这将进一步验证我们的结论,我们正与在循环过程中的源数组的副本打交道,否则我们将在循环过程中看到修改后的值。但...
如果我们......
近期文章
- 织梦5.7{dede:php}标签不起作用的解决办法
 - php版本non-thread-safe和thread-safe的区别
 - 什么是fatal flex scanner internal error--end of buffer missed
 - php文件命名建议用小写
 - php cookie字典
 - seft和static在php中有什么不同
 - 用php快速获取图片大小
 - 用php的json_decode()检测json数据是否合法
 - php三个等号
 - unset和=null有什么不同
 - php如何捕获一个警告信息
 - 如何获得php数组中最后一个元素的键名?
 - 在PHP中,你如何改变数组中某一元素的键名?
 - php多维数组转xml
 - php如何转化数组为SimpleXML对象
 - php如何把数组定义为常量
 - php根据数组中的值删除数组中的元素
 - 计算两个日期相差多少天
 - 如何捕获var_dump的输出结果保存到一个字符串中?
 - 用php获取完整的URL