小编Gor*_*don的帖子

PHP在保留键的同时遍历多维数组

我有一个多维数组,其中我无法知道深度.例如,数组可能如下所示:

$array = array(
    1 => array(
        5 => array(
            3 => 'testvalue1'
        )
    ),
    2 => array(
        6 => 'testvalue2'
    ),
    3 => 'testvalue3',
    4 => 'testvalue4',
);
Run Code Online (Sandbox Code Playgroud)

有了这个数组,我想创建一个目录.这意味着需要保留密钥,因为我将它们用作"章节编号".例如,"testvalue1"在第1.5.3章中.
现在我想在保留所有键的同时遍历数组 - 不使用array_walk_recursive,因为包含另一个数组的键被删除(正确?),并且考虑到速度,最好不使用嵌套的foreach循环.
有什么建议我应该怎么做?提前致谢.

PS:对于我的脚本,如果键是字符串("1"而不是1)或整数,则无关紧要,如果将字符串作为键将使array_walk_recursive保留它们.

php arrays loops multidimensional-array

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

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

从xml元素值中删除换行符

我有一个包含像LastName和FirstName这样的6000元素的xml文件.

我需要删除元素值中的新行.

输入:

<info>
  <LastName>

     HOOVER

  </LastName>
</info>
Run Code Online (Sandbox Code Playgroud)

输出:

<info>
  <LastName>
     HOOVER
  </LastName>
</info>
Run Code Online (Sandbox Code Playgroud)

我试过preg_replacestr_replace空间和\n,\t,\r和失败.

php xml newline

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

为什么不能在子类中用常量值覆盖父变量?(PHP)

我首先有一堂课,其中$name设置为“鲍勃”。在儿童班中,我设置$name为“Karen”,但它不起作用。

在我的回声陈述中,第一个说“鲍勃”而不是“凯伦”。使用子类方法的第二个方法虽然有效。

为什么会出现这种行为?

class First {

    public $name;

    public function __construct() {

        $this->name = 'bob';
    }
}

class Third extends First {

    public $name = 'Karen';
    public function set_name ($name) {
        $this->name = $name;
    }
}

$instance_of_third = new Third;
$third_name = $instance_of_third->name;

echo "<br />We're looking for Karen: $third_name<br />";
// $third_name here is 'bob' from parent class

$instance_of_third->set_name("Karen");
$third_name = $instance_of_third->name;
// $third_name here is 'Karen' only after using set_name()
echo "<br />We're looking …
Run Code Online (Sandbox Code Playgroud)

php oop inheritance

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

如何在三行中读取文件?

所以,假设你有一个php post脚本,它将你传递给它的任何内容作为新行附加到文本文件中


假设该文件名为file.txt,如下所示:

11:45 Am
12:49 PM
Went to Lunch
3:25 PM
Run Code Online (Sandbox Code Playgroud)

我想知道,我怎么能写一个PHP脚本将信息视为3对.所以在for循环中它会显示

line1 | line2 | line3
line4
Run Code Online (Sandbox Code Playgroud)

请注意,没有任何过去的line4,所以它停止了.

php io file

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

$ .ajax不保存退货中断

$.ajax({    
                type: 'get',
                url:  'message.php',
                data: 'msg=' + msg + '&fromname=' + fromname + '&fromemail=' + fromemail,               
                beforeSend: function() {},  
                success: function() { } 
});
Run Code Online (Sandbox Code Playgroud)

我使用以下方法通过ajax将变量发送到message.php message.php,然后使用' data' 更新数据库(mysql).我遇到的问题是它将2行或更多行更改为1个连续行.所以它会跳过返回休息时间.这是文字区域:

<textarea class="textar" onchange="save();" onclick="this.value=''"  cols="45" rows="5">What would you like to say in the email?</textarea>
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

html ajax jquery

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

如何通过WMI查询获取GB的总物理内存(ram)信息?

我知道如何从win32_computersystem类获得总物理内存.但是以字节或kb为单位.我希望这些信息以MB或GB为单位.在wmi(wql)查询中.wmic也工作.提前致谢.

windows wmi wql wmic

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

PHP Silex微框架语法解释

在过去的几天里,我一直在玩Silex.我无法理解以下代码段的工作原理.

我没有兴趣在什么它做,而是怎么它做它.

    use Silex\Application;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\HttpKernel\HttpKernelInterface;

    $app->get('/foo', function (Application $app, Request $request) {
       $subRequest = Request::create('/', ...);
       $response = $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST, false);

        return $response;
    });
Run Code Online (Sandbox Code Playgroud)

我很困惑

function (Application $app, Request $request)
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这是一个匿名函数,被称为$ app-> get方法的参数.这个匿名函数中的两个参数如何工作?具体是什么:

Application $app, Request $request

谢谢!

php symfony silex

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

php多维数组,内存管理

我需要这样的结构

    array(){
    [0] => array(){
           [0] => array(){ 
                         // this array will have 'n' values(n is large, like 2000)
                         }
           [1] => array(){ 
                         // this array will have 'n' values(n is large, like 2000)
                         }
                   }
    .
    .
    .
[n] => ............
}
Run Code Online (Sandbox Code Playgroud)

n个数组每个都有一个2元素数组,其中每个元素都有一个n值数组.

我使用$list[$m][0][$n]$list[$m][1][$n]内部2 for循环$m,$n不同0...2000

这超过了允许的内存大小..我可以在php.ini中更改大小,但我想优化我的内存使用量而不是更改限制.

会用对象帮忙吗?

请提供一些示例代码以供理解.谢谢.

php memory-management multidimensional-array

0
推荐指数
1
解决办法
1165
查看次数

php foreach从数组中获取值

我在访问数组中的值时遇到问题,数组看起来像这样,

Array
(
    [0] => Array
        (
            [id] => 1661
            [code] => 849651318
            [job_status] => 4
            [looking_for] => Lorem ipsum
            [keywords_education] => Derby University
            [sector_id_csv] => 10,21,9,22,26
            [last_job_title_1] => Programmer
            [last_job_employer_1] => HBOS
            [city] => Bury
            [expected_salary_level] => LEVEL_2
            [education_level] => COLLEGE
            [job_looking_for] => 
            [is_contract] => Y
            [is_permanent] => N
            [is_temporary] => Y
        )

)
Array
(
    [0] => Array
        (
            [id] => 402
            [code] => 849650059
            [job_status] => 3
            [looking_for] => Lorem ipsum
            [keywords_education] => Paris College
            [sector_id_csv] => …
Run Code Online (Sandbox Code Playgroud)

php arrays foreach loops multidimensional-array

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