我需要编写一个允许我在数组中发送特定链接的代码。这是我想要做的简短的想法。根据国家/地区代码,我会发送一份特定语言的小册子。我也想知道我是否可以通过开关来实现...
这是我到目前为止的代码......
<?php
$de_brochure = ('https://ruta/de-brochure.pdf');
$en_brochure = ('https://ruta/en-brochure.pdf');
$es_brochure = ('https://ruta/es-brochure.pdf');
$country_code = 'ES'; // Normally I get this code from a form.
$brochure = array ( $de_brochure, $en_brochure, $es_brochure );
$brochure_link = '';
if ( $country_code == 'ES' ) {
$to = 'info@kazzabe.com.es';
$subject = 'Ejemplo';
$txt = 'El dossier a enviar es' . $brochure_link[$brochure];
$headers = 'De: sample@sample.com' . '\r\n' .
'CC: anothersample@sample.com';
mail ($to, $subject, $txt, $headers );
} else {
echo $country_code . 'no es el código de españa';
}
当我运行我的代码时,这是输出I GET:
警告第17行上的非法偏移类型
注意未初始化的字符串偏移量:第17行上的1
答案 0 :(得分:1)
您制作阵列和未使用的&#34;链接&#34;变量
$brochure = array ( $de_brochure, $en_brochure, $es_brochure );
$brochure_link = '';
然后访问此链接变量而不是数组:
$txt = 'El dossier a enviar es' . $brochure_link[$brochure];
^^^^^^^^^^^^^^^^^^^^^^^^^
这是失败的地方。使用带有命名键的数组(a.k.a.哈希)可以更容易:
$brochures = [
'DE' => 'https://ruta/de-brochure.pdf',
'EN' => 'https://ruta/en-brochure.pdf',
'ES' => 'https://ruta/es-brochure.pdf'
];
$country_code = 'ES';
# ...
$txt = 'El dossier a enviar es' . $brochures[$country_code];
答案 1 :(得分:0)
做这样的事情
$brochure_link_arr= array(
"DE"=>'https://ruta/de-brochure.pdf',
"EN" =>'https://ruta/en-brochure.pdf',
"ES"=> 'https://ruta/es-brochure.pdf'
);
if ( $country_code == 'ES' ) {
..
$txt = 'El dossier a enviar es' . $brochure_link_arr[$country_code];