PHP获取任意数组的长度例子

 更新时间:2016年11月25日 15:32  点击:1281
PHP获取任意数组的长度不能使用php自带的count函数来实现了我们需要进行一些自定义开发了,下面一起来看看如何实现检测任意数组长度吧,具体的操作如下所示。

PHP经常处理未知深度的数组,这种情况一般用递归可以处理,但是对于数组深度,还是知道的好。

获取数组长度:

 代码如下 复制代码

/**
 * @description 获取数组长度
 * @param array array
 * @return int length of array
 */
function array_len($array = array()) {
    $len = 1;
 
    foreach ($array as &$value) {
        if (is_array($value)) {
            $len = array_len($value) + 1;
        }
    }
    return $len;
}

测试:

 代码如下 复制代码

$arr = array(
array(
    array(
        array(
            array('id'=>1)
            )
        )
    )
);
$arr_len = array_len($arr);

var_dump($arr_len);

//result

int(5)

$_POST、$HTTP_RAW_POST_DATA 和 php://input都可以接受数据了,那么它们三者的区别到底在哪里呢,我们来看来看这篇文章是如何介绍的。

Mac Pro 电脑编译安装了 PHP 5.6.21,先前的系统运行时报如下警告级错误:
Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead.

意思是 自动变量 $HTTP_RAW_POST_DATA 已过时,将来会被移除,使用 php://input 流方式代替!
 
 
总结:区别 PHP 的 $_POST、$HTTP_RAW_POST_DATA 和 php://input
 
1、HTML <form> enctype Attribute

application/x-www-form-urlencoded  传送之前所有的字符都会被encoded,(spaces 被转换为+、特殊字符被转换为ASCII HEX)

multipart/form-data  没有字符被encoded,一般用upload
text/plain Spaces被转换为 + ,但是特殊字符不会被encoded
For example, the key-value pairs
name: Jonathan Doe
age: 23
formula: a + b == 13%!
are encoded as the following raw data:
name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21

$_POST

Array

(

    [name] => Jonathan Doe

    [age] => 23

    [formula] => a + b == 13%!

)


$HTTP_RAW_POST_DATA

print_r($GLOBALS['HTTP_RAW_POST_DATA']);

name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21

php://input


$post_data = file_get_contents('php://input');
print_r($post_data);

name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21
name=Jonathan+Doe&age=23&formula=a+%2B+b+%3D%3D+13%25%21
 
2、$_POST

$_POST是最常用的获取表单的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 application/x-www.form-urlencoded
无法解析如 text/xml,application/json,soap 等非 application/x-www.form-urlencoded 数据类型的内容
 
3、$HTTP_RAW_POST_DATA

PHP默认识别的数据类型是application/x-www.form-urlencoded,用Content-Type=application/json 类型,提交的POST数据这时候 $_POST 就无法获取到了,但是使用 $GLOBALS['HTTP_RAW_POST_DATA'] 可以获取到。因为在PHP无法识别 Content-Type 的时候,就会把 POST 数据填入到 $HTTP_RAW_POST_DATA 中。
设置 php.ini 中的 always_populate_raw_post_data 值为 On 才会生效
当 $_POST 可以取到值时 $HTTP_RAW_POST_DATA 为空
不能用于 enctype="multipart/form-data"
PHP7中已经移除了这个全局变量,用 php://input 替代,使用 always_populate_raw_post_data 会导致在填充 $HTTP_RAW_POST_DATA 时产生 E_DEPRECATED 错误。 请使用 php://input 替代 $HTTP_RAW_POST_DATA, 因为它可能在后续的 PHP 版本中被移除。 设置always_populate_raw_post_data 为 -1 (这样会强制 $HTTP_RAW_POST_DATA 未定义,所以也不会导致 E_DEPRECATED的错误) 来体验新的行为。
 
4、php://input

php://input 可通过输入流以文件读取方式取得未经处理的 POST 原始数据,允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小。
不需要任何特殊的 php.ini 设置
不能用于 enctype="multipart/form-data"
 
总结

1、如果是 application/x-www-form-urlencoded 和 multipart/form-data 格式 用 $_POST;
2、如果不能获取的时候比如 text/xml、application/json、soap,使用 file_get_contents('php://input');

PHP7是新版本的php那么肯定会有新功能了,那么PHP7新功能有哪些呢,我们下面来看看小编整理的一篇关于PHP7新功能使用教程


PHP7是什么鬼?

PHP7是PHP编程语言的一个主要版本,并号称是开发Web应用程序的一次革命,可开发和交付移动企业和云应用。此版本被认为是PHP在2004年发布PHP5后最重要的变化。

新功能

PHP7有加入几十个功能,最显著的是下面提到 -
改进的性能 – PHPNG代码合并在PHP7中,这是比 PHP5快两倍;
降低内存消耗 – 优化后PHP7使用较少的资源;
标量类型声明 – 现在,参数和返回值类型可以被强制执行;
一致性的64位支持 – 64位架构机器持续支持;
改进异常层次结构 – 异常层次结构得到改善;
许多致命错误转换成异常 – 异常的范围增大覆盖为许多致命的错误转化异常;
安全随机数发生器 – 加入新的安全随机数生成器的API;
已过时的API和扩展删除 – 不同的旧的和不支持的应用程序和扩展,从最新的版本中删除;
null合并运算符(??)的新空合并运算符被加入;
返回和标量类型声明支持返回类型和参数类型也被加入;

增加了对匿名匿名类的支持;

零成本声明支持零成本加入断言。

PHP7使用新的 Zend Engine 3.0 提高应用程序性能两倍,比PHP5.6 低了 50% 的内存消耗。 它可以服务于更多的并发用户,无需任何额外的硬件。考虑到当今的工作量 PHP7设计并重构。

PHP7 – 性能

按照Zend开发小组,下图显示了流行的基于PHP应用在3.7 HHVM上 PHP7 与 PHP5.6 比较的性能。
Magento 1.9

在执行的Magento事务相比PHP5.6,PHP7要快两倍。
Magento Transactions

Drupal 7

在执行 Drupal 事务相比PHP5.6,PHP7证明快两倍。
Drupal Transactions

WordPress 3.6

PHP7 证明自己比 PHP5.6 快两倍,因为在执行 WordPress 事务相比。
Wordpress Transactions
动态语言的比较
Mandelbrot Transactions

PHP7 – 环境设置

为了开发和运行PHP Web页面,需要您在计算机系统上安装三个重要组件。
Web服务器 − PHP几乎能与所有的Web服务器软件一起工作,包括微软的Internet Information Server(IIS),但是最常用的是免费提供的Apache服务器。 在这里免费下载Apache − http://httpd.apache.org/download.cgi
数据库 − PHP几乎能与所有的数据库软件工作,其中包括Oracle和Sybase,但最常用的是免费的MySQL数据库。MySQL在这里免费下载在 −http://www.mysql.com/downloads/
PHP分析器− 为了处理PHP脚本的说明必须安装一个分析器,生成HTML输出,可以发送到Web浏览器。本教程将指导您如何在您的计算机上安装PHP解析器。

PHP解析器安装

在继续之前,确保你有适当的环境设置在你的机器上,使用PHP开发Web程序是非常重要的。保存下面的PHP文件在Apache的htdocs文件夹中。

phpinfo.php
<?php
phpinfo();
?>
输入下面的地址在浏览器的地址栏中,查看输出结果。
http://127.0.0.1/phpinfo.php
如果这显示了PHP安装相关信息的页面,那么就意味着PHP和Web服务器安装正确。否则,您必须遵循特定程序在计算机上安装PHP。
本节将指导您安装并在以下四个平台上配置PHP(本系列教程是基于 Win10上安装Apache+PHP开发环境) -
Linux/Unix上安装Apache+PHP环境
Mac OS X上安装Apache+PHP环境
Windows10上安装Apache+PHP环境
Apache配置
如果您使用Apache作为Web服务器,本节将指导您编辑Apache的配置文件。
详细请看这里− Apache服务器配置PHP
PHP.INI文件配置
PHP配置文件 – php.ini,这会影响 PHP 功能最直接的方式。
Windows IIS配置
如果要在您的Windows计算机上配置IIS,可以参考IIS手册。
PHP7 – 标量类型声明
在PHP7有一个新的功能,标量类型声明已被引入。标量类型声明有两种选择:
强制 – 强制性是默认模式,不需要指定。
严格 – 严格模式有明确的暗示。
以下几种类型的函数参数可以通过上述方式强制执行:
int
float
bool
string
interfaces
array
callable
示例 – 强制模式
<?php
// Coercive mode
function sum(int ...$ints)
{
   return array_sum($ints);
}

print(sum(2, '3', 4.1));
?>
浏览器将产生以下输出 -
9
示例 – 严格模式
<?php
// Strict mode
declare(strict_types=1);

function sum(int ...$ints)
{
   return array_sum($ints);
}

print(sum(2, '3', 4.1));
?>
浏览器将产生以下输出 -
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...
PHP7 – 返回类型声明
在PHP7中有一个新的功能,已引入返回类型声明。返回类型声明指定一个函数的返回值类型。以下类型返回类型是可以声明的:
int
float
bool
string
interfaces
array
callable
示例 – 有效的返回类型
<?php
declare(strict_types=1);

function returnIntValue(int $value): int
{
   return $value;
}

print(returnIntValue(5));
?>
浏览器将产生以下输出-
5
示例 – 无效的返回类型
<?php
declare(strict_types=1);

function returnIntValue(int $value): int
{
   return $value + 1.0;
}

print(returnIntValue(5));
?>
这将产生以下浏览器输出 -
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...
PHP7 – Null合并运算符
PHP7一个新的功能,空合并运算符(??)已经推出。它是用来与isset()函数函数一起替换三元操作。如果存在且不是 NULL 空合并运算符返回它的第一个操作数;否则返回第二个操作数。
示例
<?php
// fetch the value of $_GET['user'] and returns 'not passed'
// if username is not passed
$username = $_GET['username'] ?? 'not passed';

print($username);
print("<br/>");


// Equivalent code using ternary operator
$username = isset($_GET['username']) ? $_GET['username'] : 'not passed';

print($username);
print("<br/>");
// Chaining ?? operation
$username = $_GET['username'] ?? $_POST['username'] ?? 'not passed';

print($username);
?>
这将在浏览器产生以下输出 -
not passed
not passed
not passed
PHP7飞船操作符
在PHP7中有一个新的功能-飞船操作符相继引入。它是用于比较两个表达式。当第一个表达式较第二个表达式分别小于,等于或大于时它分别返回-1,0或1。
示例
<?php
//integer comparison
print( 1 <=> 1);print("<br/>");
print( 1 <=> 2);print("<br/>");
print( 2 <=> 1);print("<br/>");
print("<br/>");
//float comparison
print( 1.5 <=> 1.5);print("<br/>");
print( 1.5 <=> 2.5);print("<br/>");
print( 2.5 <=> 1.5);print("<br/>");
print("<br/>");
//string comparison
print( "a" <=> "a");print("<br/>");
print( "a" <=> "b");print("<br/>");
print( "b" <=> "a");print("<br/>");
?>
这将在浏览器产生以下输出 –
0
-1
1

0
-1
1

0
-1
1
PHP7 – 常量数组
数组常量现在可以使用 define() 函数定义。在PHP5.6中,它们只能使用const关键字定义。
示例
<?php
//define a array using define function
define('animals', [
   'dog',
   'cat',
   'bird'
]);

print(animals[1]);
?>
这将在浏览器产生以下输出 –
cat
PHP7 – 匿名类
匿名类现在可以使用 new class 来定义。匿名类可以使用来代替完整的类定义。
示例
<?php
interface Logger {
   public function log(string $msg);
}

class Application {
   private $logger;

   public function getLogger(): Logger {
      return $this->logger;
   }

   public function setLogger(Logger $logger) {
      $this->logger = $logger;
   } 
}

$app = new Application;
$app->setLogger(new class implements Logger {
   public function log(string $msg) {
      print($msg);
   }
});

$app->getLogger()->log("My first Log Message");
?>
这将在浏览器产生以下输出 –
My first Log Message
PHP7 – Closure::call()

Closure::call() 方法加入到临时绑定(bindTo)的对象范围,以简便方式封闭和调用它 它相比绑定到PHP5.6性能更快。
示例 – PHP7之前版本
<?php
class A {
   private $x = 1;
}

// Define a closure Pre PHP 7 code
$getValue = function() {
   return $this->x;
};

// Bind a clousure
$value = $getValue->bindTo(new A, 'A');

print($value());
?>
这将在浏览器产生以下输出 –
1
示例-PHP7+
<?php
class A {
   private $x = 1;
}

// PHP 7+ code, Define
$value = function() {
   return $this->x;
};

print($value->call(new A));
?>
这将在浏览器产生以下输出 –
1
PHP7- 过滤unserialize()
PHP7引入了过滤 unserialize()函数以在反序列化不受信任的数据对象时提供更好的安全性。它可以防止可能的代码注入,使开发人员能够使用序列化白名单类。
示例
<?php
class MyClass1 {
   public $obj1prop;  
}
class MyClass2 {
   public $obj2prop;
}


$obj1 = new MyClass1();
$obj1->obj1prop = 1;
$obj2 = new MyClass2();
$obj2->obj2prop = 2;

$serializedObj1 = serialize($obj1);
$serializedObj2 = serialize($obj2);

// default behaviour that accepts all classes
// second argument can be ommited.
// if allowed_classes is passed as false, unserialize converts all objects into __PHP_Incomplete_Class object
$data = unserialize($serializedObj1 , ["allowed_classes" => true]);

// converts all objects into __PHP_Incomplete_Class object except those of MyClass1 and MyClass2
$data2 = unserialize($serializedObj2 , ["allowed_classes" => ["MyClass1", "MyClass2"]]);

print($data->obj1prop);
print("<br/>");
print($data2->obj2prop);
?>
这将在浏览器产生以下输出 –
1
2
PHP7 – 国际字符
在PHP7,新的 IntlChar 类添加其目的是公开更多的ICU功能。 这个类定义了许多可用于操纵Unicode字符的静态方法和常数。你需要在使用这个类之前安装 Intl 扩展。
示例
<?php
printf('%x', IntlChar::CODEPOINT_MAX);
print (IntlChar::charName('@'));
print(IntlChar::ispunct('!'));
?>
这将在浏览器产生以下输出 –
10ffff
COMMERCIAL AT
true
PHP7 – CSPRNG

在PHP7,以下两个新的函数引入以产生一个跨平台的方式加密安全整数和字符串。
random_bytes() – 生成加密安全伪随机字节。
random_int() – 生成加密安全伪随机整数。
random_bytes()
random_bytes()适合于使用来生成密码,密码学随机的任意长度的字符串,如:生成 salt,密钥或初始向量。
语法
string random_bytes ( int $length )
参数
length – 返回随机串的字节长度
返回值
返回包含加密安全随机字节的请求数量的字符串。
错误/异常
如果无法找到随机性的适当源,将引发异常
如果给定参数无效,TypeError将被抛出
如果给出字节长度无效,错误将被抛出
示例
<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));
?>
这将在浏览器产生以下输出 –
54cc305593
random_int()
random_int()产生适合于用于结果是非常重要的加密随机整数。
语法
int random_int ( int $min , int $max )
参数
min – 返回最小值,它必须是PHP_INT_MIN或更大的值
max – 返回最大值,它必须是小于或等于PHP_INT_MAX
返回值
返回最小值(min)到最大(max)的范围内,包括加密安全随机整数。
错误/异常
如果无法找到随机性一个适当的源,将引发异常
如果给定参数无效,TypeError 将被抛出
如果 max 小于 min 时,错误将被抛出
示例
<?php
print(random_int(100, 999));
print("
");
print(random_int(-1000, 0));
?>
这将在浏览器产生以下输出 –
614
-882
PHP7 – 期望
期望是向后兼容的增强到旧 assert() 函数。期望允许在生产代码零成本的断言,并提供在断言失败时抛出自定义异常的能力。assert() 不是一种语言构建体,其中第一个参数是一个表达式的比较字符串或布尔用于测试。
配置指令assert()
指令 默认值 
可能的值
zend.assertions 1 
1 – 生成并执行代码(开发模式)
0 – 生成代码,但它在运行时
-1 – 不生成代码(生产模式)
assert.exception 0 
1 – 当断言失败时抛出,要么抛出的异常,或者通过抛出一个新的 AssertionError 对象提供的对象,如果没有提供异常
0 – 使用或与上述生成的Throwable,但只能根据该对象的警告,而不是(与PHP 5兼容的行为)把它抛出
参数
assertion – 断言。在PHP 5中,这必须是要计算一个字符串或要测试一个布尔值。 在PHP中7,这也可能是一个返回值的表达式,将执行和使用的结果,以指示断言是成功还是失败。
description – 一个可选的描述,如果断言失败,将包括失败消息。
exception-在PHP7,第二个参数可以是一个 Throwable 对象,而不是一个描述字符串,在这种情况下,这是如果断言失败和assert.exception配置指令启用将抛出的对象。
返回值
如果断言为假为FALSE,否则为TRUE。
示例
<?php
ini_set('assert.exception', 1);

class CustomError extends AssertionError {}

assert(false, new CustomError('Custom Error Message!'));
?>
这将在浏览器产生以下输出 –
Fatal error: Uncaught CustomError: Custom Error Message! in...
PHP7 – use语句

从PHP7起,单次使用 use 语句可以用来从同一个命名空间导入类,函数和常量(而不用多次使用 use 语句)。
示例
<?php
// Before PHP 7
use com\yiibai\ClassA;
use com\yiibai\ClassB;
use com\yiibai\ClassC as C;

use function com\yiibai\fn_a;
use function com\yiibai\fn_b;
use function com\yiibai\fn_c;

use const com\yiibai\ConstA;
use const com\yiibai\ConstB;
use const com\yiibai\ConstC;

// PHP 7+ code
use com\yiibai\{ClassA, ClassB, ClassC as C};
use function com\yiibai\{fn_a, fn_b, fn_c};
use const com\yiibai\{ConstA, ConstB, ConstC};

?>
PHP7 – 错误处理
从PHP7,错误处理和报告已经改变。PHP5中使用了传统的错误报告机制的错误,现在大多数的错误将通过抛出异常错误处理。类似于异常,这些错误异常会 冒泡,直到它们到达第一个匹配的catch块。如果没有匹配的块,那么会使用 set_exception_handler() 安装一个默认的异常处理 并被调用,并在情况下,如果没有默认的异常处理程序,那么该异常将被转换为一个致命的错误,并会像传统错误那样处理。
由于 Error 层次结构不是从异常(Exception),代码扩展使用catch (Exception $e) { … } 块来处理未捕获的异常,PHP5中将不会处理这样的错误。  catch (Error $e) { … } 块或 set_exception_handler()处理程序需要处理的致命错误。
Exception Hiearchy
示例
<?php
class MathOperations
{
   protected $n = 10;

   // Try to get the Division by Zero error object and display as Exception
   public function doOperation(): string
   {
      try {
         $value = $this->n % 0;
         return $value;
      } catch (DivisionByZeroError $e) {
         return $e->getMessage();
      }
   }
}

$mathOperationsObj = new MathOperations();
print($mathOperationsObj->doOperation());
?>
浏览器中将产生以下输出-
Modulo by zero
PHP7 – 整数除法
PHP7引入了intdiv()的新函数,它执行操作数的整数除法并返回结果为 int 类型。
示例
<?php
$value = intdiv(10,3);
var_dump($value);
print("
");
print($value);
?>
这将在浏览器产生以下输出 –
int(3)
3
PHP7 – Session选项

从PHP7+,session_start()函数接受数组参数覆盖在php.ini中设置的会话配置指令。这些选项支持 session.lazy,在默认情况下如果PHP会话数据改变,那么会覆盖任何会话数据信息。
添加另一种选择是:read_and_close,这表明会话数据应被读取,然后该会话应当立即被关闭不变。例如,session.cache_limiter 设置为私有,并设置标志使用下面的代码片段之后立即关闭会话。
<?php
session_start([
   'cache_limiter' => 'private',
   'read_and_close' => true,
]);
?>


PHP7 – 弃用的功能


以下功能已被取消,可能会在PHP的未来版本中删除。
PHP4风格的构造函数
PHP4式构造函数,它与类的名称相同,因为它们是在所定义类的方法,现在已过时,并且将在未来被移除。如果PHP4的构造仅仅是一个类中定义构造函数,PHP7将发出E_DEPRECATED。类实现构造函数 __construct()方法不受影响。
示例
<?php
class A {
   function A() {
      print('Style Constructor');
   }
}
?>


这将在浏览器产生以下输出 –
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; A has a deprecated constructor in...


静态调用非静态方法


非静态方法静态调用已被弃用,并且可能在将来被移除。
示例
<?php
class A {
   function b() {
      print('Non-static call');
   }
}
A::b();
?>
这将在浏览器产生以下输出 –
Deprecated: Non-static method A::b() should not be called statically in...
Non-static call
password_hash() salt 选项
password_hash()函数的salt选项已被弃用,使开发人员不会产生他们自己的(通常是不安全的)salt。函数本身生成一个加密的安全salt,在开发者没有提供salt值时 – 因此,定制 salt 生成不再需要了。
capture_session_meta SSL上下文选项
capture_session_meta SSL上下文选项已被弃用。 SSL元数据现在通过stream_get_meta_data()函数获取。

PHP7已删除的扩展

以下扩展名从PHP7起删除
ereg
mssql
mysql
sybase_ct


PHP7已删除的SAPI

以下SAPI从PHP7起删除
aolserver
apache
apache_hooks
apache2filter
caudium
continuity
isapi
milter
nsapi

要使用php发送post请求我们用到curl即可实现了,这个是最简单并且性能最好的一个请求方式,下面来看这个PHP 使用 POST 方式向https发送数据请求的例子。

例子

 代码如下 复制代码

$data = '{"type":"news", "offset":50, "count":20 }';
$access_token = "0erCbg(此处省略112个字)DZrOR0PJBFLhAHAMQW";
$url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=".$access_token;

// 发送数据
$ch = curl_init();
$timeout = 300;
curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_REFERER, "http://www.111cn.net/"); // 伪装来路
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // URL为SSL时添加这行可解决页面空白
$rs = curl_exec($ch);
curl_close($ch);

// 输出
$rs = json_decode($rs);
echo '<pre>';
print_r($rs);
echo '</pre>';


例子

方法1感觉也很笨拙,似乎也很难满足我的需求,最后忘记在哪个英文网站上找到了下面这个方法:

 代码如下 复制代码
  function do_post_request($url, $data, $optional_headers = null)
  {
     $params = array('http' => array(
                  'method' => 'POST',
                  'content' => $data
               ));
     if ($optional_headers !== null) {
        $params['http']['header'] = $optional_headers;
     }
     $ctx = stream_context_create($params);
     $fp = @fopen($url, 'rb', false, $ctx);
     if (!$fp) {
        throw new Exception("Problem with $url, $php_errormsg");
     }
     $response = @stream_get_contents($fp);
     if ($response === false) {
        throw new Exception("Problem reading data from $url, $php_errormsg");
     }
     return $response;
  }


试用了一下,感觉效果非常好,简洁,通用,而且返回的内容仅仅是Body中内容

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • jquery获取tagName再进行判断

    如果是为了取到tagName后再进行判断,那直接用下面的代码会更方便: $(element).is('input') 如果是要取到标签用作到别的地方,可以使用一下代码: $(element)[0].tagName 或: $(element).get(0).tagName...2014-05-31
  • C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下...2020-06-25