我遵循了这个主题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转换为数组
答案 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]。重点);