将多行数组PHP转换为数组Javascript

时间:2016-02-29 04:04:45

标签: php arrays

我遵循了这个主题Convert array php to java,但对我来说并不成功。 我的代码:

import os;
import cPickle as pickle;
import numpy as np;
import matplotlib.pyplot as plt;

def load_CIFAR_batch(filename):

    with open(filename, 'r') as f:
        datadict=pickle.load(f);

        X=datadict['data'];
        Y=datadict['labels'];

        X=X.reshape(10000, 3, 32, 32).transpose(0,2,3,1).astype("float");
        Y=np.array(Y);

        return X, Y;

def load_CIFAR10(ROOT):

    xs=[];
    ys=[];

    for b in range(1,6):
        f=os.path.join(ROOT, "data_batch_%d" % (b, ));
        X, Y=load_CIFAR_batch(f);
        xs.append(X);
        ys.append(Y);

    Xtr=np.concatenate(xs);
    Ytr=np.concatenate(ys);

    del X, Y;

    Xte, Yte=load_CIFAR_batch(os.path.join(ROOT, "test_batch"));

    return Xtr, Ytr, Xte, Yte;

def visualize_CIFAR(X_train, y_train, samples_per_class):
    classes = ['plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'];
    num_classes=len(classes);

    for y, cls in enumerate(classes):
        idxs = np.flatnonzero(y_train == y)
        idxs = np.random.choice(idxs, samples_per_class, replace=False)
        for i, idx in enumerate(idxs):
            plt_idx = i * num_classes + y + 1
            plt.subplot(samples_per_class, num_classes, plt_idx)
            plt.imshow(X_train[idx].astype('uint8'))
            plt.axis('off')
            if i == 0:
                plt.title(cls)

    plt.show();

如何将dataobject转换为数组

1 个答案:

答案 0 :(得分:-1)

将PHP数组转换为Javascript的PHP函数仅限于json_encode()。请注意,json_encode()仅在PHP 5.2及更高版本中可用,因此请检查您是否使用旧版本。

参考:http://php.net/manual/en/function.json-encode.php

您可以在同一页面中看到该示例: 示例#1 json_encode()示例

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>

以上示例将输出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

对于多维数组,使用以下一个:

$arr = array();
while($row = mysql_fetch_assoc($returnarray)) {
$arr[] = $row; 
}
echo json_encode($arr);

在javascript中使用它:

<script type="text/javascript">

var jArray= <?php echo json_encode($arr); ?>;

for(var i=0;i<10;i++){ // use correct limit instead of 10
    alert(jArray[i]);
 }
</script>

获取元素的另一种方法是:     警报(jArray [0]。重点);