php数组转换成这样的
怪我咯
怪我咯 2017-04-11 10:41:35
[PHP讨论组]

一个这样的数组Array ( [0] => a [1] => s [2] => d [3] => f )转换成Array ( '0' => 'a','1' => 's', '2' => 'd', '3' => 'f' ) 可以么,求大神指导

其实过程是这样两个字符串$atr = 1,2,3,4 $str=a,b,c,f 一一对应转换成数组array('1'=>'a','2'=>'b','3'=>'c','4'=>'f')

并打印出来array('1'=>'a','2'=>'b','3'=>'c','4'=>'f'),不知道这样好理解么

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
巴扎黑
<?php

$atr = '1,2,3,4';
$atr_arr = explode(',', $atr);

$str='a,b,c,f';
$str_arr = explode(',', $str);

$arr = array_combine($atr_arr, $str_arr);

var_dump($arr);
PHP中文网
Array ( [0] => a [1] => s [2] => d [3] => f )

出现这样的数组显示形式,一般是tp下dump的友好显示。并不是数组。

$tmp = array( '0' => 'a','1' => 's', '2' => 'd', '3' => 'f' );
var_dump($tmp);

以上代码显示的就是:

Array ( [0] => a [1] => s [2] => d [3] => f )

===================dump源码=========================

 /**
 * 浏览器友好的变量输出
 * @param mixed $var 变量
 * @param boolean $echo 是否输出 默认为true 如果为false 则返回输出字符串
 * @param string $label 标签 默认为空
 * @return void|string
 */
public static function dump($var, $echo = true, $label = null)
{
    $label = (null === $label) ? '' : rtrim($label) . ':';
    ob_start();
    var_dump($var);
    $output = ob_get_clean();
    $output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
    if (IS_CLI) {
        $output = PHP_EOL . $label . $output . PHP_EOL;
    } else {
        if (!extension_loaded('xdebug')) {
            $output = htmlspecialchars($output, ENT_QUOTES);
        }
        $output = '<pre>' . $label . $output . '</pre>';
    }
    if ($echo) {
        echo ($output);
        return null;
    } else {
        return $output;
    }
}
大家讲道理

第一行的问题没有看懂,假如是第二个问题的话解法如下:

$atr='1,2,3,4'; 
$str='a,b,c,f';
$aarr=explode(',',$atr);
$sarr=explode(',',$str);
$res=array();
foreach($aarr as $k=>$v){
    $res[$v]=$sarr[$k];
}
var_dump($res);

结果就是你要的array('1'=>'a','2'=>'b','3'=>'c','4'=>'f')

怪我咯

$atr='1,2,3,4';
$str='a,b,c,f';

//以第一个数组的值作为key值 , 第二个数组的值作伪值 , 组成新的二维数组

         for($i=0;$i<count($atr);$i++){

// $newarr[$atr[$i]] = $str[$i];

              $newarr[$i] = "'$atr[$i]' => '$str[$i]'";

        }
        $str = implode(',',$newarr);
        echo 'array('.$str.')';
        //print_r($newarr);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号