Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在预定义数组的某些部分使用占位符(用于以后填充)和填充_Php_Arrays_Curl_Dictionary_Case - Fatal编程技术网

Php 如何在预定义数组的某些部分使用占位符(用于以后填充)和填充

Php 如何在预定义数组的某些部分使用占位符(用于以后填充)和填充,php,arrays,curl,dictionary,case,Php,Arrays,Curl,Dictionary,Case,首先,我想说的是,我愿意听取建议,我计划使用的这种方法可能不是解决问题的最佳方法 我正在为PHP中的CURL做一个包装,CURL有许多可以设置的CURLOPT_*常量,因此我创建了一个简单的数组来转换一个简单的关键字,这个关键字很容易记住,可以映射到完全命名的CURLOPT_*常量 示例 $map = [ URL => [ CURLOPT_URL, %PLACEHOLDER NEEDED% ] POST => [ CUR

首先,我想说的是,我愿意听取建议,我计划使用的这种方法可能不是解决问题的最佳方法

我正在为PHP中的CURL做一个包装,CURL有许多可以设置的CURLOPT_*常量,因此我创建了一个简单的数组来转换一个简单的关键字,这个关键字很容易记住,可以映射到完全命名的CURLOPT_*常量

示例

$map = [
    URL => [
        CURLOPT_URL, %PLACEHOLDER NEEDED%
        ]
    POST => [
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => %PLACEHOLDER NEEDED%
        ]
    ];


$data = [
    URL = 'http://yahoo.com/login',
    POST => '?login=user&pass=pass'
    ];
我正在寻找从$map数组中获取/应用相应字段的简单方法,同时在%PLACEHOLDER%位置插入$data中的变量

理想的结果应该是

$result = [
    CURLOPT_URL, 'http://yahoo.com/login',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => '?login=user&pass=pass'
    ]

我可以通过使用3-4嵌套for循环和一些if语句来实现这个结果,但它感觉非常“粗糙”,不是一个好的最终解决方案。

我建议您看看现有的包装器。例子: