基本问题,但我已经搜索,并不能完全得到这个钉 - 我怎么能从其他几个创建1变量?然后我想把它变成一个数组。从几个创建一个PHP变量
像这样的东西(很明显的语法错误!):
$name;
$address;
$post_code;
$full_address = $name, $address, $post_code;
$address[] = $full_address;
我的PHP是非常基本的,所以还是容易对滥用!
基本问题,但我已经搜索,并不能完全得到这个钉 - 我怎么能从其他几个创建1变量?然后我想把它变成一个数组。从几个创建一个PHP变量
像这样的东西(很明显的语法错误!):
$name;
$address;
$post_code;
$full_address = $name, $address, $post_code;
$address[] = $full_address;
我的PHP是非常基本的,所以还是容易对滥用!
你能做到几个方面:
// using sprintf
$address[] = sprintf('%s, %s, %s', $name, $address, $post_code);
// using "Traditional" concatenation
$address[] = "$name, $address, $post_code";
// other version of concatenation
$address[] = $name . ", " . $address . ", " . $post_code;
或者,如果你希望他们作为一个数组:
3210对于一个简单的数组:
$full_address = array($name, $address, $post_code);
对于关联数组:
$full_address = array('name'=>$name, 'address'=>$address, 'zip'=>$post_code);
你可以看看标准的对象:
$address = new stdClass;
$address->postcode = '02115';
$address->name = "John Connor';
或自行创建一个Address类,它会在你的应用中非常有用。
class Address {
public function __construct ($name, $address) {...}
public function getFullAddress() {...} // or other useful functions
}
你所试图做的是叫做字符串连接,这在PHP与.
- 运算符
$name = "Foo";
$address = "Barstreet 1";
$post_code = "12345 Foobar";
$full_address = $name . ", " . $address . ", " . $post_code
你几乎几乎没有做。
$name = 'Your name';
$address = 'Your address';
$post_code = 'Your post code';
$full_address = "$name, $address, $post_code";
$address[] = $full_address;
是否要连接字符串?您应该使用字符串连接运算符“。”。 例如:
$s1 = "foo";
$s2 = "bar";
$s3 = "blabla";
$final_string = $s1 . " " . $s2 . $s3;
echo $final_string; // output: "foo barblabla"
,如果你想连接名称ADRESS和邮政编码,你可以这样做:
$address[] = $name.$address.$post_code;
or
$address[] = "$name $address $post_code";
,如果你想要的是每场都添加到ADRESS数组,你可以这样做如:
$address = array($name,$address,$post_code);
or
$address[] = $name;
$address[] = $address;
$address[] = $post_code;
因为没有人别的提到这个问题,compact()
$name = 'Mike';
$address = '123 Main St';
$post_code = '55555';
$full_address = compact('name', 'address', 'post_code');
var_dump($full_address);
/* Output:
array(3) {
["name"]=>
string(4) "Mike"
["address"]=>
string(11) "123 Main St"
["post_code"]=>
string(5) "55555"
}
*/
+1,教会我一个新的诀窍:) – NightMICU
你只是想要追加几个字符串?
如果是正确的语法是这样的:
$name = 'Dave Random';
$address = 'Some place, some other place';
$post_code = 'AB123CD';
$merged = $name.$address.$post_code;
...他们使用.
(点)至concatentate。你可能会想插入换行符,逗号等它们之间:
$merged = $name.', '.$address.', '.$post_code;
或者,你可以指定他们都在一个新的字符串是这样的:
$merged = "$name, $address, $post_code";
...注意使用双引号而不是单引号。这可能会对read this有帮助。
或者,您可以将它们保存为独立的值在array这样的:
$myArray = array();
$myArray['name'] = 'Dave Random';
$myArray['address'] = 'Some place, some other place';
$myArray['post_code'] = 'AB123CD';
...或这个:
$myArray = array(
'name' => 'Dave Random',
'address' => 'Some place, some other place',
'post_code' => 'AB123CD'
);
...和你可以在阵列转换为字符串与implode()
:
$merged = implode(', ',$myArray);
'$ address = array($ name,$ address,$ post_code); ' – rabudde
您可以连接,就像您基本完成的那样,或者您可以将每个添加到数组中。你能否更详细地解释一下你最终想要看到什么? –