首先,我想说我愿意接受建议,我打算使用这种方法可能不是解决问题的最佳方法。
我正在 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 数组中取/应用相应的字段,同时在%处插入来自 $ data 的变量PLACEHOLDER%位置。
理想的结果看起来像
$result = [
CURLOPT_URL, 'http://yahoo.com/login',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => '?login=user&pass=pass'
]
我可以通过使用3-4个嵌套for循环和一些if语句来实现这个结果,但感觉非常“hacky”而不是一个好的最终解决方案。