Php 从字符串生成数组
我已从服务中检索到以下输出 输出: 确定:设置用户名确定:设置密码确定:设置服务器状态获取网络确定:登录确定:获取组成员组联系人列表联系人5551000008539姓名“驱动程序2”状态脱机组联系人列表联系人5551000008540姓名“驱动程序3”状态脱机组联系人列表联系人5551000008541姓名“驱动程序4”状态脱机状态连接客户端自身id 5551000008535客户端自身id 0客户端自身id 5551000008535状态断开登录被拒绝身份验证错误客户端自身id 0状态脱机 如何像以前一样将数据提取到用户数组中 我如何将分解/内爆/预匹配或其他内容分解成一个用户数组。比如:Php 从字符串生成数组,php,Php,我已从服务中检索到以下输出 输出: 确定:设置用户名确定:设置密码确定:设置服务器状态获取网络确定:登录确定:获取组成员组联系人列表联系人5551000008539姓名“驱动程序2”状态脱机组联系人列表联系人5551000008540姓名“驱动程序3”状态脱机组联系人列表联系人5551000008541姓名“驱动程序4”状态脱机状态连接客户端自身id 5551000008535客户端自身id 0客户端自身id 5551000008535状态断开登录被拒绝身份验证错误客户端自身id 0状态脱机 如
$users - Driver 2 => 5551000008539
Driver 3 => 5551000008540
Driver 4 => 5551000008541
试试这个(假设$s
包含我们服务的输出):
要创建名称为键、数字为值的数组,请执行以下操作:
$result = array_combine($out[2], $out[1]);
您可能需要发布输入字符串(包括换行符)的确切格式以获得有效答案。可能“:”是分隔符。但是在我回答这个问题之前需要澄清。警告:array_combine()[function.array combine]:这两个参数至少应该有1个元素Assign$s='OK:设置用户名OK:设置密码OK:设置服务器状态获取网络OK:登录OK:获取组成员组联系人列表联系人5551000008539姓名“驱动程序2”状态脱机组联系人列表联系人5551000008540姓名“驱动程序3”状态脱机组联系人列表联系人5551000008541姓名“驱动程序4”状态脱机状态连接客户端自身id 5551000008535客户端自身id 0客户端自身id 5551000008535状态断开登录拒绝身份验证错误客户端自身id 0状态脱机'代码>刚得到2个空数组。。数组()数组()
preg_match_all("/contact-list contact (\\d+) name \"(.*?)\"/", $s, $out, PREG_PATTERN_ORDER);
$result = array_combine($out[2], $out[1]);