php实用阶乘函数

 更新时间:2016年11月25日 15:09  点击:2164

//echo fn(4);
echo fn2(4);

//n! = 1* 2 * 3 *  ... n
function fn($n){
 if($n == 0) return 1;
 
 $fn = 1;
 for($i = 1; $i <= $n ; $i++){
  $fn *= $i;
 }
 return $fn;
}


//n! = (n-1)! * n
//0!=1 1!=1
function fn2($n){
 if($n == 0 || $n == 1){
  return 1;
 }
 $result = fn2($n-1) * $n;
 return $result;
}

 1 近日在看 codeigniter 源码时发现了一种 foreach 的另外一种写法。并试了 for 的这种写法,没想到也能用。代码如下:
 2
 3  <?php教程
 4  $array = array('one', 'two', 'three');
 5
 6  echo 'foreach-------<br />';
 7 foreach($array as $value):
 8   echo $value.'<br />';
 9 endforeach;
10
11 echo 'for-------<br />';
12 for($i=0; $i<5; $i++):
13   echo $i.'<br />';
14 endfor;
15 ?>

1 这种用法平时很少见,在php手册中有说明:
2
3 php 也支持用冒号的 for 循环的替代语法。
4
5 for (expr1; expr2; expr3):
6     statement;
7     ...
8 endfor;

 

strtr() 函数转换字符串中特定的字符。

语法
strtr(string,from,to)或者

strtr(string,array)

*/

$addr=strtr($addr,"","aao");        //第一种调用方法
$trans=array("hello"=>"hi","hi"=>"hello");      //定义一个转换数组
echo strtr("hi all, i said hello",$trans);       //第二种调用方法


//普通字符串

echo strtr("hilla warld","ia","eo");

//数组

$arr = array("hello" => "hi", "world" => "earth");
echo strtr("hello world",$arr);

/*
如果 from 和 to 的长度不同,则格式化为最短的长度。

语法
bin2hex(string)
*/
$str="1001";           //定义二进制字符串
$result=bin2hex($str);         //执行转换操作
echo $result;           //输出转换后的结果,3663

本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。

//定义回调函数
function key_compare_func($key1,$key2)
{
  if($key1==$key2)         //如果两参数相等
  return 0;          //返回0
  else if($key1>$key2)        //如果$key1>$key2
  return 1;          //返回1
  else           //如果$key1<$key2
  return -1;          //返回-1
}
//分别定义两个数组
$array1=array('blue'=>1,'red'=>2,'green'=>3,'purple'=>4);
$array2=array('green'=>5,'blue'=>6,'yellow'=>7,'cyan'=>8);
//用回调函数对键名比较计算数组的差集
$result=var_dump(array_diff_ukey($array1,$array2,'key_compare_func'));
print_r($result); 
         //输出比较结果
         
         
//
$array1=array("a"=>"green","red","blue","red");     //定义数组1
$array2=array("b"=>"green","yellow","red");     //定义数组2
$result=array_diff($array1,$array2);       //计算差集
print_r($result);           //输出比较结果


//

$result=array_fill(5,6,'banana');    //为数组$a从第5个元素开始添加6个banana
print_r($result);       //输出结果

//

function odd($var)
{
  return($var%2==1);     //如果参数为奇数,返回true,否则返回false
}
function even($var)
{
  return($var%2==0);     //如果参数为偶数,返回true,否则返回false
}
//分别定义两个数组
$array1=array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
$array2=array(6,7,8,9,10,11,12);
echo "过滤奇数:n";
print_r(array_filter($array1,"odd"));   //过滤数组1中的奇数
echo "过滤偶数:n";
print_r(array_filter($array2,"even"));   //过滤数组2中的偶数

//

$trans=array("a"=>1,"b"=>2,"c"=>3);     //定义数组
$result=array_flip($trans);       //反转数组
print_r($result);         //输出反转后的数组

//

$array1=array("a"=>"green","b"=>"brown","c"=>"blue","red");
$array2=array("a"=>"green","yellow","red");
$result_array=array_intersect_assoc($array1,$array2);  //交集赋值到$result_array
print_r($result_array);        //输出结果数组

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • js实现跨域的4种实用方法原理分析

    什么是js跨域呐?js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。要...2015-10-30