相关疑难解决方法(0)

如何使用正则表达式匹配嵌套括号?

正如标题所说,这是一个示例输入:

 (outer
   (center
     (inner)
     (inner)
   center)
 ouer)
 (outer
   (inner)
 ouer)
 (outer
 ouer)
Run Code Online (Sandbox Code Playgroud)

当然,匹配的字符串将通过递归进行处理.

我希望第一个递归匹配:

 [
 (outer
   (center
     (inner)
     (inner)
   center)
 ouer),
 (outer
   (inner)
 ouer),
 (outer
 ouer)]
Run Code Online (Sandbox Code Playgroud)

不用说后续流程......

regex nested

19
推荐指数
3
解决办法
4万
查看次数

增加"__toString"

我不确定标题应该是什么,但代码应该更好地解释它:

class Group {
    private $number = 20;

    public function __toString() {
        return "$this->number";
    }
}

$number = new Group();
echo $number, PHP_EOL;
echo ++ $number, PHP_EOL;

echo PHP_EOL;

$number = "20";
echo $number, PHP_EOL;
echo ++ $number, PHP_EOL;

echo PHP_EOL;

$number = 20;
echo $number, PHP_EOL;
echo ++ $number, PHP_EOL;
Run Code Online (Sandbox Code Playgroud)

输出:

20
20              <--- Expected 21

20
21

20
21
Run Code Online (Sandbox Code Playgroud)

知道我为什么20而不是21?即使这样,下面的代码也适用:

$i = null ;
echo ++$i ; // output 1
Run Code Online (Sandbox Code Playgroud)

我知道Group是一个实现的对象__toString …

php increment magic-methods

9
推荐指数
2
解决办法
402
查看次数

如何从另一个php页面读取数组

我将下面提到的代码(实际上是配置)写入文件(config.php)中,我想将 config.php 中写入的内容写入另一个文件(check.php)

config.php中编写的代码:

<?php
$CONFIG = array (
  'id' => 'asd5646asdas',
  'dbtype' => 'mysql',
  'version' => '5.0.12',
);
Run Code Online (Sandbox Code Playgroud)

check.php中编写的获取内容的代码是:

$config_file_path = $_SERVER['DOCUMENT_ROOT'] . 'config.php';
$config = file_get_contents($config_file_path);
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我将输出作为字符串,我想将其转换为数组。为此,我尝试了以下代码。

$config = substr($config, 24, -5); // to remove the php starting tag and other un-neccesary things

$config = str_replace("'","",$config);
$config_array = explode("=>", $config);
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我得到如下输出:

Array
(
    [0] =>   id 
    [1] =>  asd5646asdas,
  dbtype 
    [2] =>  mysql,
  version 
    [3] =>  5.0.12
)
Run Code Online (Sandbox Code Playgroud)

这是不正确的。

有什么办法可以将其转换为数组吗?我已经尝试过 serialize() 以及从 php 中的另一个页面访问数组中提到的内容,但没有成功。

对此的任何帮助将不胜感激。

php arrays file

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

标签 统计

php ×2

arrays ×1

file ×1

increment ×1

magic-methods ×1

nested ×1

regex ×1