我有2个数组都包含人名和水果名。这两个数组都是动态生成的。
$persons = array(0 =>'John', 1 => 'Alan', 2 => 'Ninja');
$fruits = array(0 =>'apple', 1 => 'mango', 2 => 'banana', 3 => 'kiwi');
一个字符串,我想根据模式提供的密钥进行替换。
$str = "[person1] eats [fruit1]";
$str2 = "These [fruit2] belongs to [person3] and his friends";
我希望我的输出像
$str = "John eats apple";
$str2 = "These mango belongs to Ninja and his friends";
我想从模式*
和[person*]
搜索模式并获取[fruit*]
的值,其中*
是动态生成的字符串。
修改1
我创建了一个函数
function replaceable_string($str, $elements, $pattern, $match="*"){
foreach($elements as $index => $element){
$index++;
$new_pattern = str_replace($match, $index, $pattern);
$str = str_replace($new_pattern, $element, $str);
}
return $str;
}
和像这样的传递值
$str = replaceable_string($str, $persons, '[person*]');
$str = replaceable_string($str, $fruits, '[fruit*]');
echo $str;
我不知道这有多高效。
或者还有其他最好的方法来实现这个目标吗?
答案 0 :(得分:0)
这是另一种方法。不确定更有效率。
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA");
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_URL, "xxxxxxxxxxxxxxx");
var_dump(curl_exec($ch));
var_dump(curl_error($ch));
var_dump(curl_errno($ch));