小编Jas*_*per的帖子

如何合并数组和保存键?

我有两个数组:

$array1 = array('a' => 1, 'b' => 2, 'c' => 3);
$array2 = array('d' => 4, 'e' => 5, 'f' => 6, 'a' => 'new value', '123' => 456);
Run Code Online (Sandbox Code Playgroud)

我想合并它们并保持按键和顺序而不是重新索引!!

怎么这样?

Array
(
    [a] => new value
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
    [f] => 6
    [123] => 456
)
Run Code Online (Sandbox Code Playgroud)

我尝试使用array_merge()但它不会保留密钥:

print_r(array_merge($array1, $array2));

Array
(
    [a] => 'new value'
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
    [f] => …
Run Code Online (Sandbox Code Playgroud)

php arrays

56
推荐指数
2
解决办法
8万
查看次数

如何在jQuery中将JSON格式设置为HTML5数据属性

我正在尝试这些HTML

<div data-params="{a: 1, b: '2'}" id="TEST1"></div>
<div data-params='{"a": 1, "b": "2"}' id="TEST2"></div>
Run Code Online (Sandbox Code Playgroud)

然后我在jQuery中使用data()方法

$('#TEST1').data('params'); //return a string
$('#TEST2').data('params'); //return a object
Run Code Online (Sandbox Code Playgroud)

但是TEST1它不是一个返回对象,而是一个字符串,它只能返回对象TEST2.但是我想通过TEST1得到一个对象,我该怎么做?

=============

最后,我选择编写一个函数来实现自己的需求

$.fn.data2 = function(key, value)
{
    if (value === undefined) 
    {
        var data = $(this).data(key);
        if (typeof(data) === 'string') 
        {
            var _data = data.replace(/^[\s\r\n]*/g, '').replace(/[\s\r\n]*$/g, '');
            if (_data.match(/\{.*\}/) || _data.match(/\[.*\]/)) {
                try {
                    _data = (new Function( 'return ' + data ))();
                    if (typeof(_data) == 'object') {
                        $(this).data(key, _data);
                        data = _data;
                    }
                } catch(ex) {} …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

30
推荐指数
2
解决办法
3万
查看次数

Windows上的Apache mod_proxy_fcgi和PHP-FPM(php-cgi.exe)问题(未指定输入文件.)

以下是PHP-FPM(PHP 5.5)

php-cgi.exe -b 127.0.0.1:9000
Run Code Online (Sandbox Code Playgroud)

以下是mod_proxy_fcgi(Apache 2.4)

第一种方式

<Files ~ "\.(php|phtml)$">
    SetHandler "proxy:fcgi://127.0.0.1:9000/"
</Files>
Run Code Online (Sandbox Code Playgroud)

第二种方式

<LocationMatch ^(.*\.(php|phtml))$>
    ProxyPass fcgi://127.0.0.1:9000/$1
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

第三种方式

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^([^\.]+\.(php|phtml))$ fcgi://127.0.0.1:9000/$1 [P,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

以上三种方式都会出现错误"未指定输入文件".谁知道为什么?我该怎么做才能解决这个问题?

php apache

12
推荐指数
2
解决办法
2642
查看次数

如何使用功能标志?

我想创建一个类并扩展PHP类FilesystemIterator,如下面的代码所示.我定义了一个方法hasFlag()并测试它是否包含一个标志(我希望它像其他一些PHP函数,例如.glob),但结果总是与预期不同.那么我该如何解决这个问题呢?

class c extends FilesystemIterator 
{
    /* These are parent constants */
    const CURRENT_AS_FILEINFO  = 0 ;
    const KEY_AS_PATHNAME      = 0 ;
    const CURRENT_AS_SELF      = 16 ;
    const CURRENT_AS_PATHNAME  = 32 ;
    const CURRENT_MODE_MASK    = 240 ;
    const KEY_AS_FILENAME      = 256 ;
    const NEW_CURRENT_AND_KEY  = 256 ;
    const FOLLOW_SYMLINKS      = 512 ;
    const KEY_MODE_MASK        = 3840 ;
    const SKIP_DOTS            = 4096 ;
    const UNIX_PATHS           = 8192 ;

    public function __construct($flags) {
        $this->flags = $flags;
    }
    public function hasFlag($flag) {
        //How …
Run Code Online (Sandbox Code Playgroud)

php

10
推荐指数
3
解决办法
1170
查看次数

关于错误"尝试修改非对象的属性"

谁能告诉我为什么以下代码会有不同的结果?

未设置的对象属性

$s = new StdClass;
unset($s->a->b);    //it is working fine
unset($s->x->y->z); //it is got an error: Attempt to modify property of non-object
Run Code Online (Sandbox Code Playgroud)

取消设置数组索引

$a = array();
unset($a[1][2]);    //it is working fine
unset($a[3][4][5]); //it is working fine
Run Code Online (Sandbox Code Playgroud)

php

8
推荐指数
1
解决办法
3万
查看次数

如何在php中检测操作系统编码?

我想检测文件系统编码的操作系统是默认的,比如不同语言版本的Windows操作系统,它会使用不同的编码(iso-8859-1,ms950,big5,gb2312..etc)那么如何检测不同的操作系统在PHP编码?任何的想法?谢谢.

php

7
推荐指数
1
解决办法
2604
查看次数

是php switch语句错误吗?

我有一个问题想知道答案,为什么下面的代码会打印A不是默认的?

$i = 0;
switch ($i) {
    case 'A':
        echo "i equals A"; //will printed it
        break;
    case 'B':
        echo "i equals B";
        break;
    case 'C':
        echo "i equals C";
        break;
    default:
       echo "i equals other";
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么?我真的不明白.我的PHP版本是5.2.17 Theanks.

php

4
推荐指数
1
解决办法
696
查看次数

PHP ROUND对比Javascript ROUND

我发现一个很奇怪的问题,问题是PHP和Javascript中的ROUND方法的计算结果不一样!?

请参见以下示例:

的PHP

echo round(175.5); // 176
echo round(-175.5); // -176
Run Code Online (Sandbox Code Playgroud)

Java脚本

console.log(Math.round(175.5)); // 176
console.log(Math.round(-175.5)); // -175 <-why not -176!!??
Run Code Online (Sandbox Code Playgroud)

有人知道为什么吗?以及如何使Javascript和PHP具有相同的结果?

javascript php

3
推荐指数
2
解决办法
1769
查看次数

如何检查变量是标量?

有没有检查变量的方法是标量类型?

标量变量是包含整数,浮点数,双精度,字符串或布尔值但不包含数组对象的变量

谢谢

.net c#

2
推荐指数
1
解决办法
2282
查看次数

标签 统计

php ×7

javascript ×2

.net ×1

apache ×1

arrays ×1

c# ×1

html ×1

jquery ×1