我正在为数组格式化程序创建一个动态csv,其中一部分显示格式化数组,另一部分是为它显示代码。我不能让它显示代码而不再显示数组,我该怎么做?
-Javascript
$.post('csv.php', {names : names, fp : fp}, function(data){
$('#arrayDisp > center > textarea').html(data);
$.ajax({
url: "csv.php",
context: document.body,
success: function(){
$('#codeDisp > center > textarea').html(data);
}
});
});
-PHP
$file = file(_FILE_PATH, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$data = array();
$line_number = 0;
foreach($file as $f) {
$line = explode(',', $f);
$i = 0;
foreach($line as $l) {
$data[$line_number][$names[$i]] = $l;
$i++;
}
$line_number++;
}
json_encode($data);
print_r($data);
?>
答案 0 :(得分:0)
你可以尝试
foreach($data as $key => $value)
{
echo $key." has the value". $value;
}
这可能适合你
答案 1 :(得分:0)
我修改脚本以接受GET参数。所以它读起来像这样
if($_GET['showSource'])
highlight_file ($_SERVER['PHP_SELF']);
else
//do stuff
所以你的JS调用实际上是两个调用,首先你调用脚本没有?showSource = 1所以你将得到解析的csv thingy,然后你用调用 / em>?showSource = 1并显示源。
答案 2 :(得分:0)
感谢使者的有用提示,我找到了问题的答案 -
我在我的帖子请求中添加了一个请求变量,并在每个请求时重命名 -
var request = 'array';
$.post('csv.php', {names : names, fp : fp, request : request}, function(data){
$('#arrayDisp > center > textarea').html(data);
request = 'code';
$.post('csv.php', {names : names, fp : fp, request : request}, function(data){
$('#codeDisp > center > textarea').html(data);
});
});
然后在我的PHP代码中我做了这个 -
if ($_POST['request'] === "array") {
json_encode($data);
print_r($data);
}
else if ($_POST['request'] === "code") {
echo file_get_contents('csv.php');
}