如何在阵列中发送特定链接?

时间:2017-01-16 12:47:01

标签: php arrays

我需要编写一个允许我在数组中发送特定链接的代码。这是我想要做的简短的想法。根据国家/地区代码,我会发送一份特定语言的小册子。我也想知道我是否可以通过开关来实现...

这是我到目前为止的代码......

<?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

2 个答案:

答案 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];