这是我的问题:我在命令行中有一个程序可以访问数以万计的用户。这个想法是,您希望能够通过简单地输入用户名来获取有关用户的所有信息。所以,因为我想在php中工作,所以我做了以下
$user_info = array();
exec('uwdir -v userid=nvidovic', $user_info);
为了给你一个关于 $user_info 上的 var_dump 的简化版本,它会是这样的:
array(2){
[0] => "first: N"
[1] => "last: Vidovic"
}
我希望能够做到这一点 $user[first] => N
这就是我想出的(不是来自命令行的真实数据):
$full_name = array("first: N", "last: Vidovic");
var_dump($full_name);
foreach ($full_name as $part_name) {
$exploded = explode(":", $part_name);
$make_array = array($exploded[0] => $exploded[1]);
echo $make_array["first"];
}
显然,这是行不通的。但我的问题是为什么?有谁知道我该怎么做我上面解释的?我真的,真的,真的......真的提前感谢任何人!
编辑:很好的答案,谢谢。最后一件事,我不断收到错误消息 Notice: Undefined offset: 1 和 Notice: Undefined offset: 0 以下代码:
$user_info = array();
exec('uwdir -v userid=nvidovic', $user_info);
foreach ($user_info as $info) {
$exploded_info = explode(":", $info);
$info_array[$exploded_info[0]] = $exploded_info[1];
}
echo $info_array["displayName"];
有谁知道为什么会这样?我认为explode函数会将单个字符串分解为两个字符串的数组,对吗?