php数组中的数组到字符串转换错误

时间:2015-09-04 04:32:14

标签: php arrays

我尝试制作一个数组, 这是我的代码,

$sosd='"tokn"=>"123", "grnn"=>"GRN/15/08/0001"';

$ardt=array($sosd);

$tken=$ardt['tokn'];

但是无法在第3行获取数据

  

错误是第3行的D:\ xampp \ htdocs \ myebus_dms \ grn_edit.php中的数组到字符串转换   阵列

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

你在这里做的是制作以下字符串的数组

String filePath = "/storage/emulated/0/Download/song.MP3";

File file = new File(filePath);
Uri uri2 = Uri.fromFile(file);

//will display /storage/emulated/0/Download/song.MP3
Log.d("file type as string",file.toString());

//will display file:///storage/emulated/0/Download/song.MP3
Log.d("uri type as string",uri2.toString());


ContentResolver cR = getApplicationContext().getContentResolver();
String mime = cR.getType(uri2);

//mime is null always displays
if(mime == null){
    Log.d("result", "mime is null");
} else{
    Log.d("mime", mime);
}

String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(filePath);
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);


System.out.println("extension:" +extension); //displays MP3
System.out.println("mimetype:" + mimetype); //displays null

所以当你把它写成

$sosd='"tokn"=>"123", "grnn"=>"GRN/15/08/0001"';

如果您尝试使用print_r,那么您将会知道它会生成一个类似

的数组
$ardt=array($sosd);

而不是像你想象的那样

Array
(
    [0] => "tokn"=>"123", "grnn"=>"GRN/15/08/0001"
)

因此,为了实现数组,您可以简单地将数组设为

Array
(
    [tokn] => 123
    [grnn] => GRN/15/08/0001
)

答案 1 :(得分:0)

您没有正确声明数组。 你应该像这样声明它

$sosd=["tokn"=>"123", "grnn"=>"GRN/15/08/0001"];

$sosd=array("tokn"=>"123", "grnn"=>"GRN/15/08/0001");